如何将张量重塑为占位符的形状?

时间:2018-05-20 07:24:53

标签: tensorflow

如何将张量重塑为占位符的形状?

a = tf.placeholder(shape=[None, None, 48])
h, w, c = a.shape
b = tf.reshape(a, shape=[-1, 4, 4, 3]) # flatten the first two dimension and expand the last dimension
# do something
c = tf.reshape(b, shape=[h, w, 3]) # reshape back to the shape of a, but error occurs

我想将张量b恢复为占位符a的形状。

1 个答案:

答案 0 :(得分:3)

a具有在图形构造时未知的动态形状,因此您需要转向tensorflow操作,更具体地说,转向(动态)张量形状的tf.shape。 / p>

因此,在您的示例中,您可以使用例如。

s = tf.shape(a)
c = tf.reshape(b, shape=[s[0], s[1], 3])