PyTorch——错误集锦

来源:互联网 发布:全国cad应用培训网络 编辑:程序博客网 时间:2024/06/05 06:51

1、KeyError: class ‘torch.cuda.ByteTensor’

解决
关于这个错误网上介绍的并不多,只找到一个解答:ByteTensor not working with F.conv2d?。PyTorch中的大部分操作都是针对FloatTensor和DoubleTensor的。

2、RuntimeError: CUDNN_STATUS_BAD_PARAM

解决
输入的size不正确,卷积层的输入size为(N, C, H, W)。

3、TypeError: max() got an unexpected keyword argument ‘keepdim

原因不明。
解决
torch.max(input, dim)而不用torch.max(input, dim, keepdim)

4、RuntimeError: getCudnnDataType() not supported for B

调用Module.forward()方法,在计算Conv2d时出现这个错误。
解决
网络的输入必须是类型为Float或者Double或者Half Tensor且必须封装在Variable中。

5、cuda out of memory

在训练经过一段时间后出现out of memory错误,这意味着内存占用在训练过程中不断增加。
原因
loss或者网络的输出不断积累,导致计算图不断扩张。
解决
如果在训练的循环过程中需要用到loss,应该使用loss.data[0]。