有没有人知道将theano中的张量变量(包含向量)组合成另一个引用原始变量的方法,类似于itertools.chain?
现在我无法得到z = T.concatenate([x,y])
结果,其中z.shape [0] = shape x.shape [0] + y.shape [0]。它总是以z与x形状相同的形式结束。
我感谢您提供的任何帮助。
答案 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]
的张量。