看了一个博客,什么行什么列的,说了一大堆越看越晕。自己好好想了一下,总结出一个简单好用的原则:
dim = x,就变换第 x 维的坐标,固定其他的坐标
比如这个(2,3)的二维 tensor
[0, 1, 2]
[3, 4, 5]
如果用 dim=0 的softmax,那就是变换第 0 维的坐标,固定第 1 维的坐标。
对(0,0)和(1,0)做softmax;即 [0,3]
对(0,1)和(1,1)做softmax;即 [1,4]
对(0,2)和(1,2)做softmax;即 [2,5]
如果用 dim=1 的softmax,那就是变换第 1 维的坐标,固定第 0 维的坐标。
对(0,0)和(0,1)和(0,2)做softmax;即 [0,1,2]
对(1,0)和(1,1)和(1,2)做softmax;即 [3,4,5]