【问题标题】:Why does tensorflow.rank always return shape with null value为什么 tensorflow.rank 总是返回空值的形状
【发布时间】:2020-05-24 16:06:16
【问题描述】:

作为 TensorFlow 的初学者我不明白为什么 tensorflow.rank 总是返回带有空值的形状?

这就是我的工作:

import tensorflow as tf
%tensorflow_version 2.x

list_2d = [[1,2,3,4],
             [5,6,7,8],
             [9,10,11,12]
]
tensor_2d = tf.Variable(list_2d)

print(tensor_2d.shape)
print(tf.rank(tensor_2d))

输出是

(3, 4)
tf.Tensor(2, shape=(), dtype=int32)

所以我的问题是shape=() 来自tf.rank 输出?

我不能从这里得到太多 - https://www.tensorflow.org/api_docs/python/tf/rank

【问题讨论】:

    标签: python tensorflow google-colaboratory


    【解决方案1】:

    这是因为tf.rank() 的输出本身就是一个张量。输出不是以整数形式返回等级,而是具有单个 int32 值的张量,该值表示给定输入张量的等级。 () 的形状是输出值的形状,而不是输入张量的形状(单值张量的形状为())。

    【讨论】:

      【解决方案2】:

      返回值表示唯一寻址每个元素所需的索引数(在您的情况下为 2)。 2 是一个 0-dim 张量,它解释了为什么 shape 为空。有关更多信息,请参阅文档。

      【讨论】:

        猜你喜欢
        • 2019-12-05
        • 1970-01-01
        • 1970-01-01
        • 2011-07-27
        • 2014-11-15
        • 1970-01-01
        • 1970-01-01
        • 2020-07-28
        • 2020-10-01
        相关资源
        最近更新 更多