shape[-1]
首先需要知道,对于二维张量,shape[0] 代表行数,shape[1] 代表列数,同理,三维张量还有 shape[2];
一般来说 -1 代表最后一个,所以shape[-1]代表最后一个维度,如在二维张量里,shape[-1]表示列数,注意,即使是一维行向量,shape[-1]表示行向量的元素总数,换言之也是列数:
import torch
x = torch.tensor([2, 3, 4, 8])
print(x.shape[-1])
输出是: 4
需要注意的小细节:
然后就是,需要注意 turple,list等没有 shape 属性,需要替换成张量 tensor
注意,即使是三维,由于 shape[0] 表示向量数,所以 shape[1] 是行数,那么 shape[2] 还是列数,所以 shape[-1] 最后一维还是列数
import torch
x = torch.tensor([[2, 3, 4, 3, 6, 8],
[1, 8, 9, 5, 0, 1],
[2, 0, 2, 2, 7, 1]])
print(x.shape[-1])
输出是:6