Tensorflow.将张量的未知维度大小转换为int

19 python tensorflow

假设我们有

a = tf.placeholder(tf.float32, shape=(None, 3072))
b = a.get_shape()[0]
Run Code Online (Sandbox Code Playgroud)

我如何转换b使得我可以在进一步的计算中使用它,例如对于给定的张量T我将能够创建一个新的,就像

newT = T / b
Run Code Online (Sandbox Code Playgroud)

fab*_*ioM 24

您必须使用Graph操作:

a = tf.placeholder(tf.float32, shape=(None, 3072))
b = tf.shape(a)[0]
Run Code Online (Sandbox Code Playgroud)

回报

<tf.Tensor 'strided_slice:0' shape=() dtype=int32>
Run Code Online (Sandbox Code Playgroud)

b = a.get_shape()[0] 回归

Dimension(None)
Run Code Online (Sandbox Code Playgroud)