给定张量v = t.vector()
,我该怎么翻?
例如,[1, 2, 3, 4, 5, 6]
翻转为[6, 5, 4, 3, 2, 1]
。
答案 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.])