基本概念
张量(Tensor):
1.基本定义
struct Tensor<T> {shape: Vec<usize>,data: Vec<T>,
}
张量的形状(Shape)
shape
是一个向量,表示张量每个维度的大小。例如:
- 一维张量(向量)的
shape
是[n]
,其中n
是向量的长度。 - 二维张量(矩阵)的
shape
是[m, n]
,其中m
是行数,n
是列数。 - 三维张量的
shape
是[p, m, n]
,其中p
是层数,m
是行数,n
是列数。
张量的维数(Rank)
张量的维数(或称为 rank
)是指张量的 shape
向量的长度。例如:
- 向量
[n]
是一维张量,其维数是 1。 - 矩阵
[m, n]
是二维张量,其维数是 2。 - 三维张量
[p, m, n]
的维数是 3。
data
data
是一个包含张量所有元素的扁平化向量。例如:
- 对于形状为
[4]
的一维张量,data
可能是[1, 2, 3, 4]
。 - 对于形状为
[2, 3]
的二维张量,data
可能是[1, 2, 3, 4, 5, 6]
,表示一个 2x3 的矩阵:1 2 3 4 5 6
- 对于形状为
[2, 2, 2]
的三维张量,data
可能是