任何方法结合类似于itertools.chain的Theano张量向量?

时间:2015-12-08 06:19:39

标签: python vector concatenation theano chain

有没有人知道将theano中的张量变量(包含向量)组合成另一个引用原始变量的方法,类似于itertools.chain?

现在我无法得到z = T.concatenate([x,y])结果,其中z.shape [0] = shape x.shape [0] + y.shape [0]。它总是以z与x形状相同的形式结束。

我感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:1)

这是theano.tensor.concatenate的演示。您可以使用axis参数来调整连接的维度。

import theano
import theano.tensor as tt

x, y = tt.matrices('x', 'y')
z1 = tt.concatenate([x, y])
z2 = tt.concatenate([x, y], axis=0)
z3 = tt.concatenate([x, y], axis=1)
f = theano.function([x, y], [z1, z2, z3])
for output in f([[1, 2], [3, 4]], [[5, 6], [7, 8]]):
    print output.shape

打印

(4L, 2L)
(4L, 2L)
(2L, 4L)

因此我无法重现所述行为。使用z = tt.concatenate([x, y])会产生一个根据需要z.shape[0] = x.shape[0] + y.shape[0]的张量。