Tensorflow 中的张量和多维矩阵有什么区别?

KDX*_*DX2 6 arrays math machine-learning deep-learning tensorflow

我正在关注 tensorflow CNN 教程,并遇到了一个问题,即 Tensorflow 中的“张量”和多维矩阵之间的区别在编程上是什么,一般来说也是如此。

我试图自己研究张量是什么,我发现的是:它可以是 n 阶的,其中每个元素都包含 n 维的信息。例如,如果我们有一个张量 A 和一个坐标为 (3,2,5,4) 的数据点,那么我们谈论的是一个具有一个元素的 4-D 张量 A。那是对的吗?

我发现的其他文章说张量与数组相同,不同之处在于张量的元素可以变换。我再次没有看到张量和普通多维数组之间的区别。我们总是可以在数组上应用一个函数并转换元素。

您能否尝试澄清定义/属性和差异?

Dav*_*rks 9

本演示文稿的幻灯片 7 对各种张量进行了很好的可视化。

https://www.slideshare.net/yokotatsuya/principal-component-analysis-for-tensor-analysis-and-eeg-classification

一开始我也是这么想的。答案是平凡的。

“张量”是赋予 N 维值集的通用词。我们有低阶张量的数学名称:标量、向量、矩阵。

在张量流中,张量的等级是它的维数。这里有些例子:

---------------------------------------------------------------
| Rank of  | Math     | Example                               |
| tensor   | entity   |                                       |
---------------------------------------------------------------
|    0     | Scalar   | x = 42                                |
|    1     | Vector   | z = [10, 15, 20]                      |
|    2     | Matrix   | a = [[1 0 2 3],                       |
|          |          |      [2 1 0 4],                       |
|          |          |      [0 2 1 1]]                       |
|    3     | 3-Tensor | A single image of shape:              |
|          |          | [height, width, color_channels]       |
|          |          | ex: [1080, 1920, 3]                   |
|    4     | 4-Tensor | A batch of images with shape:         |
|          |          | [batch_size, height, width, channels] |
|          |          | ex: [10, 1080, 1920, 3]               |
|    N     | n-dim    | You get the idea...                   |
|          | Tensor   |                                       |
---------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

  • 一个非常美妙的答案。希望对其他人有用。现在一切都说得通了。非常感谢您的努力! (2认同)