tf.shape(tensor)和print(tensor)中形状的区别是什么

时间:2017-07-10 13:10:28

标签: tensorflow shape

说,我有一个张量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>.

为什么他们不一样。 我是张量流的新手,有人可以解释一下吗?

非常感谢。

1 个答案:

答案 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>