Theano矩阵乘法:将2D矩阵相乘得到3D矩阵

4
我希望能够像下面的问题一样在numpy中实现:
Numpy二维矩阵乘以三维矩阵

我已经按照numpy的推荐方式编写了以下代码,假设广播也适用于theano:

y = T.dmatrix('y')
x = T.dmatrix('x')
z = x[...,None]*y[:,None,:]

但是它会抛出以下错误:
AsTensorError: ('Cannot convert Ellipsis to TensorType', <type 'ellipsis'>)

3
尝试使用 x[:,:,None]*y[:,None,:]x[...,None]x[:,:,None] 的简写或方式。 - Divakar
1
Theano跟踪器上有一个未解决的问题:https://github.com/Theano/Theano/issues/2487 - ali_m
@Divakar,它正在运行……太棒了!!!谢谢 - Shweta
@Shweta 很好!那么,发布一个答案,并将该评论作为解决方案代码? - Divakar
1个回答

1
根据@Divakar的评论,将其更改为:
x[:,:,None] * y[:,None,:]

我把它发布为答案,以便人们知道有一个答案。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接