经常在程序中遇见矩阵下标为负值的情况,例如下面的例子:
--例1
layers = torch.IntTensor({{1, 2, 3}, {4, 5, 6},{7, 8, 9}})
print(layers[-2][3])
显示结果是:6
本人经过尝试,理解出负下标值的含义,解释如下:
不妨设一个随机矩阵a = torch.rand(m,n)
通常取a中的元素,可直接用a[i][j]即可,其中i=[1,m],j=[1,n]
而当i=[-m,-1],j=[-n,-1]时,a[i][j] = a[m+1+i][n+1+j]
直观上来理解,可以将[-m,-1]与[1,m]的数从小到大一一对应,同理,[-n,-1]与[1,n]一一对应