说,我有一个张量matrix
:
matrix=tf.convert_to_tensor([[1,1,1,1],[0,0,0,0]],dtype=tf.float32)
我使用tf.shape(matrix)
得到矩阵的形状,结果是
<tf.Tensor 'Shape_2:0' shape=(2,) dtype=int32>
然而使用print(matrix)
,我得到了结果:
<tf.Tensor 'Const_257:0' shape=(2, 4) dtype=float32>.
为什么他们不一样。 我是张量流的新手,有人可以解释一下吗?
非常感谢。
答案 0 :(得分:1)
方法tf.shape()返回一个包含输入张量形状的新张量。返回的张量与输入张量完全不同。
>>> import tensorflow as tf
>>> matrix = tf.convert_to_tensor([[1,1,1,1],[0,0,0,0]],dtype=tf.float32)
>>> matrix
<tf.Tensor 'Const_5:0' shape=(2, 4) dtype=float32>
>>> matrix.get_shape()
TensorShape([Dimension(2), Dimension(4)])
>>> shape_tensor = tf.shape(matrix)
>>> shape_tensor
<tf.Tensor 'Shape_3:0' shape=(2,) dtype=int32>