Theano Tensor删除元素?

时间:2016-01-31 19:46:38

标签: python theano

我目前正在努力学习theano。

有没有办法从NxN张量中删除/添加行/列?文档中突出显示的subtensor功能仅修改元素,而不是删除它们。

1 个答案:

答案 0 :(得分:3)

Sutensor允许参加张量。它是set_subtensor和inc_subtensor,允许修改它们的一部分。

Theano支持Python和NumPy索引和高级索引。你可以在很多方面做你想做的事。这是一个简单的:

import theano, numpy
T = theano.tensor.matrix()
f = theano.function([T], T[[1, 2, 4]])
f(numpy.arange(25).reshape(5, 5))

所以大多数情况下,您只需传递一个列表,其中包含您要保留的行索引。对于colums,只需使用:

import theano, numpy
T = theano.tensor.matrix()
f = theano.function([T], T[:, [1, 2, 4]])
f(numpy.arange(25).reshape(5, 5))

要添加行,我们支持与numpy相同的界面,因此大多数情况下,您可以通过连接所需的部分来构建新的张量:

import theano, numpy
T = theano.tensor.matrix()
o = theano.tensor.concatenate([T[2], T[4], [100, 101, 102, 103, 104]])
f = theano.function([T], o)
f(numpy.arange(25).reshape(5, 5))