关于 Python 和 Tensorflow 中数据单元 矩阵的 一些理解
在操作 Python中矩阵单元 Matrix 的时候,关于维度的理解,
Tensor 作为 matrix 概念的一般化, scalar 表示一个数, 维度为0, vector表示向量,维度为1, matrix 表示矩阵, 维度为2, 然后有三维的 tenor 还有四位的tensor 以此类推.
在Python中实际操作的时候,当我们初始化一个变量 x, 一般用中括号表示 例如 :
a=np.array([0,1,2,3])
b=np.array([[0],[1],[2],[3]])
c=np.array([[0,1,2,3]])
可以通过通过数据的中括号来判断数据的维度,如果只有一个中括号那么数据是1 维,两个中括号数据为2维,三个中括号数据为3维,以此类推,注意这里的中括号是表示不同层级的中括号的个数。
高维的数据,类似于由内括号中的数据向外堆叠维度的过程,高于三维的数据,通过这种方式很容易构建想象,实际中Python中的数据的维度是由外到内的,第一个中括号表示行,第二个中括号表示列等等,与这种想象方式相反。
同一层级的中括号算作一个中括号.例如上边例子中的 数据啊 a 由内到外只有一个层级的中括号 ,a 为1 维数据, b 由内到外有两个层级的中括号,b为2维数据,同样的道理. c 也是2维数据.
a=np.array([0,1,2,3])
b=np.array([[0],[1],[2],[3]])
c=np.array([[0,1,2,3]])
print(a.shape)
(4,)
print(b.shape)
(4, 1)
print(c.shape)
(1, 4)
通常我们会遇到以上这种情况, a.shape (4,) , b.shape(4,1) ,这两者有什么区别呢 ?
我们已经知道 a 是1 维数据, b 是2维数据, 1维数据表示为 (4,) 其中第二维为空, 二维数据 (4,1) 有两个维度来表示.