参考文章:
已解决
1. IndexError: scatter_(): Expected dtype int64 for index.
错误分析:
scatter要求数据是int64类型
解决方法:
- [x] 如果你定义的 tensor 时写的是 torch.Tensor(x) ,可改成 torch.LongTensor(x) ,指定为int64类型。
2. TypeError: expected Long (got Float)
错误分析:
zero 是 FloatTensor 类型,在直接将其转换为LongTensor时失败
解决方法:
- [x] 先将 zero 转换为 numpy(),再转换为 LongTensor ,具体代码如下:
torch.LongTensor(zero.numpy())
3. RuntimeError: unsupported operation: some elements of the input tensor and the written-to tensor refer to a single memory location. Please clone() the tensor before performing the operation.
错误分析:
运行时错误:不支持的操作:输入张量和写入张量的某些元素引用单个内存位置。请在执行操作前克隆()张量。
解决方法:
- [x] 先将 zero 转换为 numpy(),再转换为 LongTensor ,具体代码如下:
torch.LongTensor(zero.numpy())