如何在张量列表上进行电源操作

时间:2015-11-17 01:12:14

标签: python theano

如何在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'

我该如何解决?

1 个答案:

答案 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获得部分支持。