如何在Theano的张量列表上进行电源操作?
import theano.tensor as T
a = T.sum(w**2)
其中w是一个包含多个TensorType(float64,4D)的列表,上面的代码会出错:
TypeError:unsupported operand type (s) for ** or pow(): 'list' and 'int'
我该如何解决?
答案 0 :(得分:0)
例如,如果w
是Theano符号矩阵的Python列表,
w = [theano.tensor.matrix() for _ in xrange(10)]
然后可以使用常规的Python列表理解获得每个矩阵的平方和的符号表达式的Python列表:
a = [T.sum(w_i ** 2) for w_i in w]
如果您想要a
中条目的符号和,请使用
a_sum = T.sum(a)
请注意,这一切都假设w
中的条目数已提前知道,即w
的大小不需要是符号。 Theano尚未完全支持符号列表,但可通过typed_list
获得部分支持。