在TensorFlow中,如何重塑特定轴的张量?

时间:2017-10-23 04:34:31

标签: tensorflow

现在我有一个形状(3 * 2,2)的张量看起来像

enter image description here

我希望用特定轴的形状(3,2 * 2)重塑它,如下所示:

enter image description here

我该怎么办?默认tf.reshape()会将其重塑为

enter image description here

解决方案:我发现在tensorflow和tf.concat()中使用slice可以解决问题。你可以对子张量进行切片并连接它们来解决我的问题

1 个答案:

答案 0 :(得分:0)

我尝试了以下代码并获得了您需要的结果。但不确定步数是否可以减少。

import tensorflow as tf

x = [[1, 2],
     [3,4],
     [5,6],
     [7,8],
     [9,10],
     [11,12]]

a = tf.reshape(x,[-1,6])
b = tf.split(a,3, 1)
c = tf.reshape(b,[-1,4])

X=tf.placeholder(tf.float32, shape=[6, 2], name='input')

with tf.Session() as sess:
      c =  sess.run(c, feed_dict={X: x})
      print(c)

希望这有帮助。