我可以看到使用numpy的元素明智的矩阵乘法可以用*运算符完成。
print np.mat(np.ones((10,10)))*np.mat(np.ones((10,10)))
但是无法让它在theano下工作。我试过的代码是
x = T.dmatrix('x')
y = T.dmatrix('y')
z = x * y
f1 = theano.function([x, y], z)
print f1(np.mat(np.ones((10,10))),np.mat(np.ones((10,10))))
答案 0 :(得分:2)
如果我尝试以下(基本上是您的代码):
import theano
import theano.tensor as T
import numpy as np
x = T.dmatrix('x')
y = T.dmatrix('y')
z = x * y
f1 = theano.function([x, y], z)
print f1(np.mat(np.ones((10,10))),np.mat(np.ones((10,10))))
我得到以下内容:
[[ 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
[ 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
[ 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
[ 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
[ 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
[ 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
[ 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
[ 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
[ 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
[ 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]]
所以,它对我有用。