所幸,在边查边写的过程中,理解了 python 中多维运算的实现规则。从 0 开始对于给定的范围,如 b = a[m:n], 那么 b 为由 (n-m)个数据组成的新数组,由 a[m],a[m+1],...,a[n-1] 构成。torch 中对 tensor 的操作方法,若不加 dim 参数表示对整体的 tensr 进行操作,若增加 dim 参则表示按维操作。dim 参数存在时降一维,不存在时得到的是整个 Tensor 的均值。以乘法为例:计算乘法 c = a@b若 a 拓展为 N 为 batch_size, 计算 c2 = a@b若 a,b 同时拓展, 变成,那么需要做一个变换 b = b.view,计算 c3 = a@b计算乘法 c = a@b若 a 拓展为 N 为 batch_size, 计算 c2 = a@b若 a,b 同时拓展, 变成,计算 c3 = a@b

Pytorch 多维数组运算过程的索引处理方式

Pytorch 多维数组运算过程的索引处理方式