2
我的输入数据的形式是[无,2,100],基本上我有一堆2个单元格阵列,每个阵列都包含大小为100的矢量。我想通过单独的输入层运行每个矢量,然后在该图层之后将结果连接成一个向量。如何分割张量然后连接它?
我的问题如下: 给定一个形状的张量[无,2,100],我该如何将它转换为大小[无,100]? 然后,给出两个张量,大小为[无,50],我如何将它们连接成大小[无,100]?
在此先感谢。
我的输入数据的形式是[无,2,100],基本上我有一堆2个单元格阵列,每个阵列都包含大小为100的矢量。我想通过单独的输入层运行每个矢量,然后在该图层之后将结果连接成一个向量。如何分割张量然后连接它?
我的问题如下: 给定一个形状的张量[无,2,100],我该如何将它转换为大小[无,100]? 然后,给出两个张量,大小为[无,50],我如何将它们连接成大小[无,100]?
在此先感谢。
可以使用numpy的样索引,tf.slice
或tf.unpack
c = tf.placeholder(tf.int32, shape=[None, 2, 100])
d = c[:,0,:]
e = tf.squeeze(tf.slice(c, [0,1,0], [-1, 1, -1]), squeeze_dims=[1])
[d, e] = tf.unpack(c, axis=1)
串联:
a = tf.placeholder(tf.int32, shape=[None, 50])
b = tf.placeholder(tf.int32, shape=[None, 50])
tf.concat(1, [a,b]).get_shape()
TensorShape([Dimension(None), Dimension(100)])
感谢。对于1),我不想重塑张量。例如,如果张量是[None,x_1,x_2],我想将它分成[None,x_1]和[None,x_2]。 – Barry
好的,我不清楚。正在更新... – sygi
这是完美的,非常感谢! – Barry