None的作用主要是在使用None的位置新增一个维度
例如在算BN的时候,mean_val = x.mean(dim=[0, 2, 3])
x的shape是[b,c,h,w], mean_val的shape是[c]
要算x-mean_val, 就可以用
x = x - mean_val[None, ..., None, None]
省略号的作用是省略前面所有的 ':' 索引操作 (x[...,1:3])
如果tensor的shape很多,例如shape是[2,2,2,3,3,4], 而如果只想对最后一位操作,写x[:,:,:,:,:,1:3] 太麻烦了,就可以写作x[...,1:3]
如果x是三维的,也可以x[:, :, None]
None在第三维那就直接在第三维插进一维
x[None]
x[None] 等价于 x[None, :]
在最前面加一维
Python/Pytorch 索引中省略号...和None
于 2022-01-24 20:57:46 首次发布