在 使用torch时遇到Embedding的问题:return torch.embedding(weight, input, padding_idx, scale_grad_by_freq, sparse)
IndexError: index out of range in self
查了好多资料,看了官方文档都说是因为Embedding层张量输入超过范围,这个范围就是torch.nn.Embedding(num_embeddings,embedding_dim)中的num_embeddings,合法范围在[0,num_embeddings-1]内,对于输入的ini = torch.LongTensor([[]])数据不是看数据的个数是否超过范围,而是看数据的大小,通过打印
print(ini.min())
print(ini.max())
得到输入tensor的数据最大最小值判断是否超过合法范围
如果超过
当使用torch.nn.Embedding时遇到IndexError,通常是由于输入张量的值超出了合法范围[0,num_embeddings-1]。要检查输入数据,可以查看其最小(max)和最大(min)值,确保它们在范围内。若超出,需调整输入数据或Embedding层的参数设置。
2216

被折叠的 条评论
为什么被折叠?



