如何在Theano中翻转张量?

时间:2014-07-04 15:42:32

标签: theano

给定张量v = t.vector(),我该怎么翻? 例如,[1, 2, 3, 4, 5, 6]翻转为[6, 5, 4, 3, 2, 1]

2 个答案:

答案 0 :(得分:4)

您只需在计算图的中间执行v[::-1].eval()v[::-1]

最小例子:

import numpy as np
import theano
from theano import tensor as T

X_values = np.arange(10).astype(theano.config.floatX)
X = T.shared(X_values, 'X')
print(X.eval())
print(X[::-1].eval())

有关详细信息,请参阅有关索引here的部分。

答案 1 :(得分:1)

好吧,我知道我在这里参加派对已经很晚了,但我刚刚开始和Theano一起玩,并且认为我会投入这种变化,因为我不认为共享值是必要的:

 from theano import tensor as T
 from theano import function as Tfunc

 z = T.vector()
 f = Tfunc([z],z[::-1])

这给出了:

 >>> f([1,3,5,7,9])
 array([ 9.,  7.,  5.,  3.,  1.])