0%

Pytorch错误集锦--那些年我们的血泪史



参考文章:

  1. pytorch系列(一)常见错误
  2. FloatTensor和LongTensor的转换,TypeError: expected Long (got Float)

已解决

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())

未解决