如何对张量列表进行幂运算

How can I make power operation on tensor list

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'

我该如何解决?

例如,如果 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.

获得部分支持