以ubuntu18.0.4为例,安装pytorch环境,会因为版本不一致导致程序无法正常运行,其中包括显卡驱动、cuda、cudnn、pytorch、python版本,但凡有一个不匹配,都会发生问题。
1、安装显卡驱动
显卡驱动处于最底层,被cuda所调用,一般来说,显卡驱动的版本高于cuda推荐最低版本即可。
去
显卡驱动下载官网www.nvidia.cn下载符合自己显卡的驱动,同时注意下载的版本号。
驱动安装完成后,可通过nvidia-smi查看显卡的具体版本。
2、安装cuda
去cuda官网下载cuda版本。这里需要注意,之前下载的显卡驱动和cuda版本有对应关系,详见官网说明
例如,如果需要安装cuda11.1以上,那么之前所安装的显卡驱动不能低于455.32的版本,可以高于455.32,但是绝对不能低。
cuda安装完成后,必须配置环境变量,否则程序将无法正确找到cuda所在的位置
vim ~/.bashrc
在末尾增加
export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-版本号/lib64
即可。
测试CUDA是否安装成功
输入
nvcc - V
成功显示cuda的版本号,则表示cuda安装正确
程序调用cuda动态库时,查找顺序是:1、查找环境变量$CUDA_HOME/的位置;2、查找/usr/local/cuda所指向的位置;3、查找nvcc所在的文件夹。如果三个地方都没有才会报错。
3、安装cudnn
去官网cudnn下载地址下载对应系统,cuda版本的cudnn库,注意,一定是要对应版本的。下载后按官方提示安装即可。
4、安装pytorch
上pytorch官网选择对应的版本下载。注意,系统、cuda版本一定要选对。由于国内清华源已经没有,所以使用conda下载速度会慢很多。建议优先选择pip下载,配置pip的国内源即可。如果pip源没有,再用conda下载。
pytorch安装过程中同样会安装cudatoolkit以及cudnn,这个基本上理解为是之前单独安装的子集,也就是说,步骤2和3不用做,同样也能跑一部分代码。但是,为了安全起见,还是建议完成步骤2和3的安装
最后,测试一下:
python
import torch
torch.cuda.is_available()
显示true则表示显卡驱动安装成功。
torch.version.cuda
显示的版本号与nvcc一致,则表示nvcc编译时使用的就是该版本的cuda库
import torch
import torch.utils
import torch.utils.cpp_extension
torch.utils.cpp_extension.CUDA_HOME
显示的版本号是cuda程序运行的时候的cuda库
理想情况是,以上三者cuda版本一致,显卡驱动的cuda版本比他们高。