Tensorflow tf.rank()不返回预期值

时间:2018-02-18 05:22:59

标签: python tensorflow

TF文档说运行这两行

t = tf.constant([[[1, 1, 1], [2, 2, 2]], [[3, 3, 3], [4, 4, 4]]])
tf.rank(t)

应返回3,因为张量等级为3.但是,它返回

<tf.Tensor 'Rank_1:0' shape=() dtype=int32>

文档还说rank函数等同于numpy的ndim,所以我在给定的数组上运行它并返回3.

这个问题有什么原因吗? 我在Spyder中使用集成的Ipython控制台; python 3.5

1 个答案:

答案 0 :(得分:0)

似乎我还不了解TensorFlow的内部工作原理。 正如我所读到的那样,tf.Tensors没有分配给它们的值。它们仅仅是稍后要计算的图形。我不知道的是它们仅在tf.Session()调用之后计算。运行会话来计算排名确实产生了正确的“3”

答案在以下问题中找到 tf.rank function in Tensorflow