创建零向量,并在theano中修改它

时间:2016-06-15 08:50:31

标签: python theano deep-learning

我需要在theano中创建一个固定长度(长度等于传递的其他张量向量的大小)零向量。

def some_fun(self, y)
    x_h = T.fvector('x_h')
    ret = T.alloc(0, x_h)
    vec_h = theano.function(inputs=[x_h], outputs=ret)
    vec=vec_h(y.shape[0])
    vec[T.arange(y.shape[0]),y]=1

当我运行这个时,我收到错误" Alloc的Shape参数必须是整数,但参数0不适用于apply节点:x_h"

这可能是一个很大的错误,因为我是theano的新手。

由于

1 个答案:

答案 0 :(得分:1)

你试过theano.tensor.zeros_like吗?看起来这应该是你想要做的事情的捷径。

然后,当你得到

  

“TypeError:'TensorVariable'对象不支持项目分配”

您可以改为使用theano.tensor.set_subtensor代替vec[T.arange(y.shape[0]),y]=1行。