tensorflow如何动态获取shape

Posted 我家大宝最可爱

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tensorflow如何动态获取shape相关的知识,希望对你有一定的参考价值。

使用tensor.shape只会获取静态的shape:

a = tf.placeholder(tf.float32, [None, 128])
 # returns [None, 128]
a.shape.as_list()
# [None, 128]

如果想要获取动态的shape,需要使用tf.shape():

tensr = tf.constant([[1, 2, 3, 4, 5], [2, 3, 4, 5, 6]])
tensr.shape
# TensorShape([Dimension(2), Dimension(5)])
list(tensr.shape)
# [Dimension(2), Dimension(5)]
print(tensr.shape)
# (2, 5)
tf.shape(tensr).eval().tolist()
# [2, 5]

以上是关于tensorflow如何动态获取shape的主要内容,如果未能解决你的问题,请参考以下文章

如何在 TensorFlow 中获取 ROC_Curve 和混淆矩阵

如何在图构建时获取张量的维度(在 TensorFlow 中)?

如何在 TensorFlow 图中添加 if 条件?

如何在多个标签问题中为 tensorflow 模型设置类权重?

tensorflow多层CNN代码分析

如何在代码中动态的设置shape