2021.3.12更新
最近因为要做深度学习,所以又重新开始学习了一遍keras中文文档,相较以前,又有了新的深刻,对以前一知半解的概念、函数等有了新的理解与认识,今天记录一下,有关张量的相关概念,对比之前所述内容,更加简单易懂。
一、张量是什么
- 张量可以看作是向量、矩阵的自然推广,我们用张量来表示广泛的数据类型。
- 规模最小的张量是0阶张量,即标量,也就是一个数。
- 当我们把一些数有序的排列起来,就形成了1阶张量,也就是一个向量
- 如果我们继续把一组向量有序的排列起来,就形成了2阶张量,也就是一个矩阵
- 把矩阵摞起来,就是3阶张量,我们可以称为一个立方体,具有3个颜色通道的彩色图片就是一个这样的立方体
- 把立方体摞起来,就叫4阶张量了,不要去试图想像4阶张量是什么样子,它就是个数学上的概念。
二、轴axis
张量的阶数有时候也称为维度,或者轴,轴这个词翻译自英文axis
譬如一个矩阵[[1,2],[3,4]],是一个2阶张量,有两个维度或轴,沿着第0个轴(为了与python的计数方式一致,本文档维度和轴从0算起)你看到的是[1,2],[3,4]两个向量,沿着第1个轴你看到的是[1,3],[2,4]两个向量。
要理解“沿着某个轴”是什么意思,不妨试着运行一下下面的代码:
import numpy as np
a = np.array([[1,2],[3,4]])
sum0 = np.sum(a, axis=0)
sum1 = np.sum(a, axis=1)
print sum0
print sum1
以上内容参考keras中文文档, 笔者个人认为以上内容对张量的解释已经足够清晰,无需再去参考其他文献