第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將 2d 數(shù)組與 3d 數(shù)組的每個切片相乘 - Numpy

將 2d 數(shù)組與 3d 數(shù)組的每個切片相乘 - Numpy

BIG陽 2021-06-29 13:57:46
我正在尋找一種優(yōu)化的方法來計算 2d 數(shù)組與 3d 數(shù)組的每個切片的元素乘法(使用 numpy)。例如:w = np.array([[1,5], [4,9], [12,15]]) y = np.ones((3,2,3))我想得到一個 3d 數(shù)組的結(jié)果,其形狀與y.不允許使用 * 運算符進行廣播。就我而言,第三維很長,for 循環(huán)不方便。
查看完整描述

1 回答

?
慕后森

TA貢獻1802條經(jīng)驗 獲得超5個贊

給定數(shù)組


import numpy as np


w = np.array([[1,5], [4,9], [12,15]])


print(w)


[[ 1  5]

 [ 4  9]

 [12 15]]


y = np.ones((3,2,3))


print(y)


[[[ 1.  1.  1.]

  [ 1.  1.  1.]]


 [[ 1.  1.  1.]

  [ 1.  1.  1.]]


 [[ 1.  1.  1.]

  [ 1.  1.  1.]]]

我們可以直接對數(shù)組進行乘法運算,


z = ( y.transpose() * w.transpose() ).transpose()


print(z)


[[[  1.   1.   1.]

  [  5.   5.   5.]]


 [[  4.   4.   4.]

  [  9.   9.   9.]]


 [[ 12.  12.  12.]

  [ 15.  15.  15.]]]

我們可能會注意到,這會產(chǎn)生與 np.einsum('ij,ijk->ijk',w,y) 相同的結(jié)果,可能需要更少的努力和開銷。


查看完整回答
反對 回復 2021-07-13
  • 1 回答
  • 0 關(guān)注
  • 212 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號