我有一个向量v和一个矩阵z,比如说
v = theano.shared(rng.normal(0, 1, 10))
z = theano.shared(rng.normal(0, 1, (10, 10)))
我想创建一个新的向量y,由v +每行z中的元素总和给出。 基本上:y [i] = v [i] + T.sum(z [:,i])我可以为每个条目执行以下操作:
y[i] = v[i] + theano.tensor.sum(z[:][i])
我的问题是:有没有办法在没有循环的情况下在一行中写y = v + T.sum(z行)?
答案 0 :(得分:2)
你可以像这样获得它
y = v + z.sum(axis=1)
在numpy中,因此在theano中,有许多聚合函数,例如sum
,mean
,var
,std
,any
,{{1有一个all
关键字参数,有时甚至是一个axis
关键字参数,您可以使用它来准确指定遍历数组的方向。