PyTorch 中对 tensor 的很多操作如 sum、softmax 等都可以设置 dim 参数用来指定操作在哪一维进行。PyTorch 中的 dim 类似于 numpy 中的 axis,这篇文章来总结一下 PyTorch 中的 dim 操作。首先看一下这个图,图中给出了维度标号,注意区分正负,从左往右数,括号代表的维度分别是 0 和 1 和 2,从右往做为 -3 和 -2 和 -1。待会儿会用到。
图1
括号之间是嵌套关系,代表了不同的维度。从左往右数,两个括号代表的维度分别是 0 和 1 ,在第 0 维遍历得到向量,在第 1 维遍历得到标量.
a = torch.tensor([[1,2],
[3,4]])
则 3 个括号代表的维度从左往右分别为 0, 1, 2,在第 0 维遍历得到矩阵,在第 1 维遍历得到向量,在第 2 维遍历得到标量。
b = torch.tensor([[[3, 2], [1, 4]],
[[5, 6], [7, 8]]])#张量
在某一维度求和(或者进行其他操作)就是对该维度中的元素进行求和。对于矩阵 a
a = torch.tensor([[1,2],
[3,4]])
求 a 在第 0 维的和,因为第 0 维代表最外边的括号&#x