tensorflow中的tf.shape和get_shape()都可以用来获取尺寸,那两者的区别是什么呢?先看下面一段代码:
<span style="color:#6633ff">import tensorflow as tf
a = tf.constant([[1, 2, 3, 4], [5, 6, 7, 8]])
with tf.Session() as sess:
a_shape = tf.shape(a)
a_getshape = a.get_shape()
print(a_shape)
print(a_getshape)</span>
输出:
可以看到,tf.shape(a)的输出是一个tensor,而,a.get_shape()的输出却是一个元组tuple。
二、
而要获得tensor的值,需要将其放在sess.run()中,再看:
<span style="color:#6633ff">print(sess.run(a_shape))
print(sess.run(a_shape[0]))
print(sess.run(a_shape[1]))</span>
输出:
相反,tuple的值不能放在sess.run()中,否则会报错。
<span style="color:#6633ff">print(a_getshape[0])
print(a_getshape[1])</span>
输出:
---------------------
作者:heiheiya
来源:CSDN
原文:https://blog.csdn.net/heiheiya/article/details/80729133
版权声明:本文为博主原创文章,转载请附上博文链接!