Python “如何克服”;Theano没有稀疏向量”;错误?
当张量为Python “如何克服”;Theano没有稀疏向量”;错误?,python,python-2.7,theano,sparse-matrix,Python,Python 2.7,Theano,Sparse Matrix,当张量为dmatrix时,以下代码可以正常工作,如下所示: A = T.dmatrix('A') # Input tensor X, updates = theano.scan(lambda i: T.sum((A+A[i])*(T.neq(A*A[i],0)), axis=1), sequences=T.arange(A.shape[0])) compute = function([A], X) 样本输入: a = [[1,2,3,0,9
dmatrix
时,以下代码可以正常工作,如下所示:
A = T.dmatrix('A') # Input tensor
X, updates = theano.scan(lambda i: T.sum((A+A[i])*(T.neq(A*A[i],0)), axis=1),
sequences=T.arange(A.shape[0]))
compute = function([A], X)
样本输入:
a = [[1,2,3,0,9],[3,2,6,2,7],[0,0,0,8,0],[1,0,0,0,3]]
compute(a)
相应的输出:
array([[ 30., 33., 0., 14.],
[ 33., 40., 10., 14.],
[ 0., 10., 16., 0.],
[ 14., 14., 0., 8.]])
当我尝试将其转换为稀疏矩阵时,真正的痛苦开始显现
A = sparse.csr_matrix(name='A', dtype='int64')
编译X
时会弹出以下错误:
...
...
NotImplementedError: Theano has no sparse vectorUse X[a:b, c:d], X[a:b, c:c+1] or X[a:b] instead.
我还尝试用sparse.basic.add
和sparse.basic.mul
分别替换扫描函数中的加法和乘法操作。无论我做什么,上述错误仍然存在
请帮忙。我该怎么做才能解决这个问题