Ubuntu18.04安装cuda10.1+cudnn8.0.5+pytorch1.8.1【亲测~】
目录
第一步 :Cuda10.1的安装
1)输入命令,确保自己没装Cuda:
cat /usr/local/cuda/version.txt
在命令nvidia-smi得到的CUDA Version:11.5等版本
,这里的意思是你的显卡驱动支持的最大CUDA版本,并不是真正安装的CUDA版本(所以麻烦不要误人子弟)
具体来说:
CUDA Driver = CUDART,
CUDA Driver Version = 11.5,
CUDA Runtime Version= 10.1
CUDA驱动版本和CUDA运行版本,这两者是不一样的东西~
2)进入Cuda官网,当然你也可以直接百度cuda10.1,选择CUDA Toolkit 10.1 update1 Archive | NVIDIA Developer
这里有很多不同的安装类型(Installer Type),建议选用第一个.run安装包,不要问为什么,因为干净简洁~
下载后得到:
如右下角所示:2.4G,然后执行:
sudo sh cuda_10.1.168_418.67_linux.run
敲击accept,下一步:
这里如果直接选择Install的话,报错:
Installation failed. See log at /var/log/cuda-installer.log for details
因为你已经有了CUDA驱动,所以选择第一行按回车,回车键作用是将 [X] 就会变成[ ],[X]代表有,[ ]代表无。
PS:图我没保存,就借用了别人的,不要计较版本不对应,我还是Cuda10.1~
最后选择yes,直到结束。
3)确认cuda是否安装成功
cd /usr/local/cuda/samples/1_Utilities/deviceQuery
再执行:
sudo make
最后执行:
./deviceQuery
看见Result = PASS意味着成功~
4)添加环境变量
sudo gedit ~/.bashrc
打开该文件,然后再最后输入:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.1/lib64
export PATH=$PATH:/usr/local/cuda-10.1/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-10.1
注意:当中的cuda版本要对应你下载的版本
最后,使之生效:
source ~/.bashrc
补充一下:
Cuda12.2左右版本的安装:
是不需要进入deviceQuery文件夹进行sudo make的,直接设置环境变量:
sudo gedit ~/.bashrc
export PATH=/usr/local/cuda-12.2/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-12.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
再运行:
source ~/.bashrc
最后检测检查是否安装成功:nvcc -V
第二步 :Cudnn8.05的安装
1.进入官网:https://developer.nvidia.com/rdp/cudnn-archive下载
或者你也可以直接百度cudnn进入
然后,需要登录,选择Sign in(如已有帐号自动忽略)
注册后,打开页面:
选择ubuntu中的三个文件,都需要下载:
完成后,cd到下载的文件夹,执行:
sudo dpkg -i libcudnn8_8.0.5.39-1+cuda10.1_amd64.deb
sudo dpkg -i libcudnn8-dev_8.0.5.39-1+cuda10.1_amd64.deb
sudo dpkg -i libcudnn8-samples_8.0.5.39-1+cuda10.1_amd64.deb
2.确认cudnn安装成功
通过上步骤的安装,得到了cudnn的安装路径:/usr/include/
因此,执行:
sudo cp /usr/include/cudnn.h /usr/local/cuda/include
sudo chmod a+x /usr/local/cuda/include/cudnn.h
复制cudnn的头文件到cuda文件夹中,然后确认cudnn安装是否成功:
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
cp -r /usr/src/cudnn_samples_v8/ $HOME
cd $HOME/cudnn_samples_v8/mnistCUDNN
make clean && make
./mnistCUDNN
输出Test passed,表示成功~
补充:此教程不适用于11.x的cudnn版本:
ubuntu22.04的11.x的cudnn版本需要下载 Local Installer for Linux x86_64 (Tar)压缩文件,然后按照官方文档指示:
Unzip the cuDNN package. $ tar -xvf
cudnn-linux-x86_64-8.x.x.x_cudaX.Y-archive.tar.xz Copy the following
files into the CUDA toolkit directory. $ sudo cp
cudnn--archive/include/cudnn.h /usr/local/cuda/include $ sudo cp -P
cudnn--archive/lib/libcudnn /usr/local/cuda/lib64 $ sudo chmod a+r
/usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
最后测试:
cat /usr/local/cuda-11.0/include/cudnn_version.h | grep CUDNN_MAJOR -A
2
附一张成功的照片:
另外:更换cuDNN版本
删除已安装的cuDNN文件:
sudo rm -rf /usr/local/cuda/include/cudnn.h
sudo rm -rf /usr/local/cuda/lib64/libcudnn*
解压准备更换的安装包,并将相关文件复制到cuda目录下对应的文件夹:
tar -xvf cudnn-linux-x86_64-8.4.1.50_cuda11.6-archive.tar.xz
sudo cp include/cudnn*.h /usr/local/cuda/include
sudo cp lib64/lib* /usr/local/cuda/lib64/
更新软链接:
cd /usr/local/cuda/lib64/
sudo chmod +r libcudnn.so.8.4.1
sudo ln -sf libcudnn.so.8.4.1 libcudnn.so.8
sudo ln -sf libcudnn.so.8 libcudnn.so
sudo ln -sf libcudnn_adv_train.so.8.4.1 libcudnn_adv_train.so.8
sudo ln -sf libcudnn_adv_infer.so.8.4.1 libcudnn_adv_infer.so.8
sudo ln -sf libcudnn_ops_train.so.8.4.1 libcudnn_ops_train.so.8
sudo ln -sf libcudnn_ops_infer.so.8.4.1 libcudnn_ops_infer.so.8
sudo ln -sf libcudnn_cnn_infer.so.8.4.1 libcudnn_cnn_infer.so.8
sudo ln -sf libcudnn_cnn_train.so.8.4.1 libcudnn_cnn_train.so.8
sudo ldconfig # 检查是否存在可共享的动态链接库
检查版本:
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
第三步 :pytorch的安装
1)推荐使用pip3安装,没有pip3的执行:
sudo apt install python3-pip
2)进入pytorch官网,
找到cuda 10.1
执行:
pip install torch==1.8.1+cu101 torchvision==0.9.1+cu101 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html
安装完成~
测试:
python
import torch
torch._version__
3)一般的,Ubuntu会自带两种python,默认的是python2.7
输入python确认:
输入python -v和python3 -v显示软连接:
看到有python 3.6,然后也可以cd /usr/bin/利用ls命令查看python的版本,并删除python文件夹建立新的软连接,我不敢~
于是可以:
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150
sudo update-alternatives --config python
转换一下即可,再输入python显示:Python 3.6.9 (default, Mar 15 2022, 13:55:28)
PS:修改ubuntu光标的粗细,因为我的光标总是莫名其妙的消失,所以我想换一下:
右键选择:preferences(配置)
选择cursor shape光标形状:
结论:写作不易,该赞赞丫~
加更:补充最新Download cuDNN v8.7.0 (November 28th, 2022), for CUDA 11.x下载:
https://developer.nvidia.com/rdp/cudnn-archive(需要账号注册登陆,下载),这里有一个安装包:
选择这个集成好的deb文件,下载后,
1.直接运行:
sudo chmod 777 cudnn-local-repo-ubuntu2204-8.7.0.84_1.0-1_amd64.deb
sudo sh cudnn-local-repo-ubuntu2204-8.7.0.84_1.0-1_amd64.deb
或者
sudo ./cudnn-local-repo-ubuntu2204-8.7.0.84_1.0-1_amd64.deb
2.导入GPG密匙:
sudo cp /var/cudnn-local-repo-ubuntu2204-8.9.0.131/cudnn-local-2063C34E-keyring.gpg /usr/share/keyrings/
3.使用:apt-cache policy libcudnn8命令查看指定的libcudnn8和cuda版本,
4.安装:
sudo apt-get install libcudnn8=8.7.0.84-1+cuda11.8
sudo apt-get install libcudnn8-dev=8.7.0.84-1+cuda11.8
sudo apt-get install libcudnn8-samples=8.7.0.84-1+cuda11.8
5.验证是否安装成功:
cp -r /usr/src/cudnn_samples_v8/ $HOME
cd $HOME/cudnn_samples_v8/mnistCUDNN
make clean && make
./mnistCUDNN
注:如果上面的make命令提示缺少FreeImage.h,运行:sudo apt-get install libfreeimage3 libfreeimage-dev
结束: