2
什麼是不使用循環的下面代碼的等效實現?矩陣除以另一個矩陣的行,在沒有循環的情況下
ainvb=a[:,:,None]/b
我需要做的是分裂的「一」,由「B」的每一行列:
dt = np.dtype(np.float32)
a=[[12,3],
[2,4],
[2,4],]
b=[[12,3,2,3],
[2,4,4,5]]
a=np.asarray(a,dtype=dt)
b=np.asarray(b,dtype=dt)
print(a.shape)
print(b.shape)
ainvb=np.zeros((3,2,4))
for i in range(4):
ainvb[:,:,i]=a/b[:,i].T
在numpy的也迴路可以替換。最後,將會有4個大小爲3 * 2的矩陣(a的大小),其中每個矩陣都被「b」的行中的一個劃分。
-Real
您是否嘗試過在Theano中使用numpy解決方案? Theano打算在很大程度上覆制numpy API,因此像這樣的表達式可以完全按照Theano中的預期工作。 –
@DanielRenshaw你的意思是同樣的表達也可能在theano中起作用?我會試一下! – PickleRick