3

给定一个张量v = t.vector(),我该如何翻转它?例如,[1, 2, 3, 4, 5, 6]翻转是[6, 5, 4, 3, 2, 1].

4

2 回答 2

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())

有关更多详细信息,请参阅此处的索引部分。

于 2014-07-07T08:13:57.537 回答
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.])
于 2014-11-07T19:41:57.103 回答