我的输入数据的格式为[None,2,100],基本上我有一堆2个单元格数组,每个数组都包含大小为100的向量。我想通过一个单独的输入层运行每个向量,然后layer将结果连接成一个向量。
我的问题如下: 给定一个形状的张量[无,2,100],如何将其转换为大小[无,100]? 然后,给出两个大小为[None,50]的张量,如何将它们连接成大小[None,100]?
提前致谢。
答案 0 :(得分:2)
您可以使用类似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 :(得分:0)
您还可以执行以下操作:
tf.concat(tf.unstack(feature_output), 0)