运行GPU时,出现
网上有很多人也遇到这个问题,有人说是 CUDA 和 cudnn 的版本匹配问题,有人说需要重装 Pytorch,CUDA,cudnn。我看了官网,版本是匹配的,试着重装了也不管用,而且我按照另一个系统的版本装也不行。 可以看到每次报错都在 conv.py 这个文件,就是在做 CNN 运算时出的错。 解决方法是引入如下语句
import torch
torch.backends.cudnn.enabled = False
GPU,CUDA,cudnn 的关系是:
- CUDA 是 NVIDIA 推出的用于自家 GPU 的并行计算框架,只能在 NVIDIA 的GPU 上运行,而且只有当要解决的计算问题是可以大量并行计算的时候才能发挥 CUDA 的作用。
- cuDNN 是 NVIDIA 打造的针对深度神经网络的加速库,是一个用于深层神经网络的 GPU 加速库。如果你要用 GPU 训练模型,cuDNN 不是必须的,但是一般会采用这个加速库。
cudnn 默认会使用,既然目前解决不了匹配问题,就先不用了。这样 gpu 照样能工作,但可能没有用上 cudnn 那么快。
还有一种方法是:减小batch size