提问者:小点点

Tensorflowtf.rank()不返回期望值


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>

留档还说秩函数相当于Numpy的ndim,所以我在给定数组中运行它,它确实返回3。

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


共1个答案

匿名用户

似乎我还不了解TensorFlow的内部工作原理。正如我读到的,tf。张量没有指定值。它们只是稍后计算的图形。我不知道的是,它们只在tf之后计算。Session()调用。运行会话以计算秩确实产生了正确的“3”

答案在以下问题中找到tf.rankTensorflow中的函数