【问题标题】:If a tensor's shape defines how many entitites are in each dimension, can a tensor's shape have a different number of entities for each dimension?如果张量的形状定义了每个维度中有多少个实体,那么张量的形状可以在每个维度上具有不同数量的实体吗?
【发布时间】:2017-12-14 14:45:53
【问题描述】:

我正在学习一些教程来了解 TensorFlow 中的张量。我知道等级指定张量的维数。现在我对“形状”这个术语很好奇,我想知道一个维度是否有可能或普遍存在比下一个维度更多的实体,或者元素的数量在各个维度上是否总是相等?

我希望这是有道理的,并提前感谢您。

【问题讨论】:

    标签: tensorflow deep-learning tensor


    【解决方案1】:

    我不完全确定我是否正确理解了您的问题,但无论如何我都会尝试回答,前提是提供一些清晰的信息。

    张量仅表示一个 N 维数组。张量的形状是沿给定维度的大小列表,排名是维度的数量。

    因此,以大小为10x20x5 的 3D 数组为例。那么shape是(10, 20, 5),rank是3,这个数组的元素总数是10*20*5=1000。

    【讨论】:

    • 这绝对有帮助。那么你是说形状是由这个 3D 数组中的所有元素定义的吗?我可能分析过度了,因为我在想,在一个 3D 数组中,这个数组的第一个维度可能比这个相同的 3D 数组的第二个维度有更多的实体。我看错了吗?
    • 哦,我想我现在明白你的意思了。您不是在谈论维度,而是在谈论数组的切片。假设您有 3D 数组。那么array[0] 将是一个包含第一个切片中所有元素的二维数组,array[1] 将是另一个包含第二个切片的二维数组,依此类推。在这种情况下,您的问题的答案是否定的,形状是静态的,所以每个切片,无论在哪个维度上,都有一个定义好的形状。在示例中,第一个维度上的每个切片(例如 array[0])将始终具有 (20, 5) 的形状。这能回答你的问题吗?
    • 另一种看待这一点的方式是,一维数组是元素的列表。二维数组将是元素列表的列表。 3D 数组将是元素列表的列表。你明白了。在 TensorFlow 中,所有这些列表的维度都是固定的,并由张量形状定义。所以 2D 张量总是一个矩形矩阵,一个 3D 张量总是一个长方体矩阵,等等。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-07
    • 2020-12-04
    • 1970-01-01
    • 2016-03-08
    • 2018-04-12
    相关资源
    最近更新 更多