如何在TensorFlow中获得None(动态输入形状)的真实形状?

时间:2017-12-05 02:48:46

标签: python tensorflow

我有一个占位符,其形状为[无,尺寸],“无”表示批量大小。我希望得到“无”的真实形状。

我在构建模型时尝试了两种方法:

首先,x.get_shape()并将形状设为[Dimension(None),Dimension(128)]

其次,x.shape并将形状设为[Dimension(None),Dimension(128)]

我想要的是真正的形状,例如,当这一轮批量大小为100时,我想获得[Dimension(100),Dimension(128)]。

如何获得动态输入形状?

1 个答案:

答案 0 :(得分:2)

我相信tf.shape正是您所寻找的。

tf.shape(x)可以在会话运行时获得形状。

完整示例如下:

import tensorflow as tf
a = tf.ones([3,4])
b = tf.shape(a)
sess=tf.Session()
print(b.eval(session=sess))

您还可以使用b初始化新变量。