基本概念
张量(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可能是
