在网上有很多关于使用 gpu 训练的博文,但是,如果按照他们的安装方式,有的时候总是不行。会出现下面的错误:
cuda
明明已经安装成功了,为什么torch.cuda.is_available()
为什么是False
?- 我需要在本地安装
cudnn
或者cuda
吗?
环境介绍
- ubuntu18.04
- RTX 1080ti
- 图形化界面安装的 GPU 驱动,440
ps: 有一天我的电脑自己更新了驱动,变成了 450
,硬件环境不变,cuda
是 11.0
,最后,我发现速度竟然提高了,并且,我并没有改变 anaconda
的虚拟环境,依然可以跑。
torch 的安装
2020-01-21 清华源有问题,所以,希望你可以用我下面修改后的清华源来安装,具体参考
pytorch 使用 gpu 训练
首先,现阶段 pytroch 只支持 nvidia 显卡进行 gpu 运算,所以,mac 只能下载 cpu only。
打开官网
可以看到有安装图片解析
但是,如果只是简单的根据图上安装,可能 GPU
是用不了的。
主要是
- 驱动和
cuda
版本不一致 pytorch
版本和cuda
版本不一致cudatoolkit
、torchaudio
、torchvision
版本不一致
那正确的路径是什么呢?
- 查看
GPU
驱动是否能和cuda
对应的上?
你可以查看我下面的博文
我的驱动是 440
,然后 cuda
是 10.2
.
根据驱动来安装 pytorch
的特定版本,具体网页,是点击图中的 下方的红框 ,Previous versions of PyTorch
。
- 查询
cuda
能安装的pytorch
的版本。
最终,我选择安装 pytorch == v1.5.0
使用
conda install pytorch==1.5.0 torchvision==0.6.0 cudatoolkit=10.2
可以看到,这里面都是固定的版本,所以,如果是按照图上的安装,很可能造成版本不一致,出现意想不到的 bug.
这里解答一下疑问。
- 看网上的很多博文,除了安装驱动外,还需要手动安装 cuda 和 cudnn 这些?
根据我实际上流程,我走的是图形安装的方式,所以,系统会自己安装驱动和cuda,至于 cudnn 我没有安装过,但是,我依然可以用 GPU 来跑程序!
根据网上的资料来看,不需要自己手动安装 CUDA
。 Anaconda
已经包含了 cudatoolkit
。但是要记得自行安装显卡驱动。
很多教程都说要自行到 NVIDIA
下载并安装 CUDA
,其实没有必要。就算你手动安装了 CUDA
,PyTorch
在使用 GPU
时还是使用的 Anaconda
中的 cudatoolkit
。如果想要让 PyTorch
使用手动安装的 CUDA
,则需要通过源码安装 PyTorch
并绑定系统环境的 CUDA
。
- 我需要安装
cudnn
吗?
如果不安装 cudnn
,程序依然可以跑起来,但是,想要更快,就需要安装 cudnn
,因为,cuDNN
是一个深度神经网络 GPU
加速库,可以大幅提高 GPU
的运算性能,比如常见的 forword and vackwoard convolution
、pooling
、normalization
以及 activation
等。
cudnn
可以到 nvidia
官网进行下载和安装,也可以使用 anaconda
进行安装。这里推荐使用 anaconda
安装,另外,要特别注意,cuda
版本是和 cudnn
版本相对应的。
我还没安装过 cudnn
所以,在这里就不说了。
检测是否成功
进入相应的 python
环境
输入
import torch
print(torch.cuda.is_available())
如果输出为 True
那就证明你的环境是对的。