ubuntu18.04安装pytorch、cuda、cudnn和miniconda

ubuntu18.04安装pytorch、cuda、cudnn和miniconda,第1张

目录

0. 前言

1. nvidia驱动安装及卸载

1.1 安装

1.2 卸载

2. cuda-10.2安装验证及卸载

2.1 安装

2.2 验证

2.3 卸载

3. cudnn安装及验证

3.1 安装

3.2 验证

4. miniconda安装验证及卸载

4.1 安装

4.2 验证

4.3 卸载

5. pytorch安装验证及卸载相关

5.1 安装

5.2 验证

5.3 卸载

6. 其他问题

6.1 import torch失败

6.2 torch.cuda.is_available()返回值为false


0. 前言

我也不知道有没有装好,稍微记录一下安装步骤。提前说一下踩坑经历:

①一开始看别人的教程装了cuda11.4,后来担心太新了有问题,就卸载了cuda11.4并重装了cuda10.2;

②miniconda3安装的时候看别人的教程,误打误撞把miniconda3装到了管理员环境下(sudo su),千辛万苦卸载之后重新安装到普通环境里;

③cudnn安装顺利,没涉及到卸载;

④pytorch安装官网的命令有几个依赖怎么都装不上(应该是我没有梯子的缘故),没办法去清华镜像下载tar包;

⑤安装后import torch报错,后来按某篇博客的说法卸载pytorch重装之后又好了,最后import成功,但是torch.cuda.is_available()是false,发现是驱动和ubuntu内核不匹配,然后重装了nvidia的驱动。

总结一下:

  1. nvidia驱动版本470.103.01
  2. cuda版本10.2
  3. cudnn版本7.6.5
  4. pytorch版本1.10.1
  5. miniconda版本py37_4.8.3(应该是支持创建3.7及之前的所有python环境)

这里面最重要的是nvidia驱动,流程应该是先确定内核支持的nvidia驱动,再确定驱动支持的cuda版本,再根据cuda版本确定cudnn,再由cuda、cudnn、python版本共同确定pytorch,miniconda只要支持py3即可。

我安装的顺序导致我绕了很多弯路,本来想让读者也走走这些弯路,毕竟能够增加理解,但是考虑到大家时间宝贵,还是提前说明正确的方法。

驱动和cuda的匹配关系参见

https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.htmlhttps://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html截取其中2个表格如下

1. nvidia驱动安装及卸载 1.1 安装

在命令行输入ubuntu-drivers devices,选择一个适合版本,我选的是470

输入sudo apt install nvidia-driver-470安装nvidia驱动

1.2 卸载

输入sudo apt-get purge nvidia*卸载nvidia驱动

2. cuda-10.2安装验证及卸载 2.1 安装

CUDA Toolkit Archive | NVIDIA Developerhttps://developer.nvidia.cn/cuda-toolkit-archive

 我选择的是10.2这个版本

 安装命令如下

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda-repo-ubuntu1804-10-2-local-10.2.89-440.33.01_1.0-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1804-10-2-local-10.2.89-440.33.01_1.0-1_amd64.deb
sudo apt-key add /var/cuda-repo-10-2-local-10.2.89-440.33.01/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda
2.2 验证

终端输入,有如下显示说明cuda安装成功

nvcc -V

 

2.3 卸载

最后一行,查看针对linux的安装指导。进去后ctrl+f搜索uninstalll,第一个就是

同样是最后一行(因为我用的是deb的安装方式),这里以卸载cuda10.2为例

sudo apt-get --purge remove cuda-10.2

使用上述nvcc -V方法验证cuda是否卸载成功,如果仍有相关显示则输入

sudo apt autoremove

最后再验证一遍

3. cudnn安装及验证 3.1 安装

cudnn需要匹配cuda的版本

cuDNN Archive | NVIDIA Developerhttps://developer.nvidia.com/rdp/cudnn-archive

我选择的是7.6.5版本,需要下载三个文件:

cuDNN Runtime Library for Ubuntu18.04 (Deb)

cuDNN Developer Library for Ubuntu18.04 (Deb)

cuDNN Code Samples and User Guide for Ubuntu18.04 (Deb)

 下载完成后进入下载所在目录,再进入终端,输入如下3条命令安装上述3个文件

sudo dpkg -i libcudnn7_7.6.5.32-1+cuda10.2_amd64.deb
sudo dpkg -i libcudnn7-dev_7.6.5.32-1+cuda10.2_amd64.deb
sudo dpkg -i libcudnn7-doc_7.6.5.32-1+cuda10.2_amd64.deb
3.2 验证

cd /usr/src/
ls

可以看见有一个cudnn_samples_v7的文件夹

再依次输入

cd cudnn_samples_v7/mnistCUDNN
sudo make clean
sudo make
sudo ./mnistCUDNN

可以看到测试程序正在运行

最后结果如下

4. miniconda安装验证及卸载 4.1 安装

Index of /anaconda/miniconda/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirrorhttps://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/?C=M&O=A我找的版本是Miniconda3-py37_4.8.3-Linux-x86_64.sh

下载完成后,在Downloads文件夹里进入终端,输入

bash Miniconda3-py37_4.8.3-Linux-x86_64.sh

中间问你是否选择是否接受什么的都选择yes,这里需要留意默认的安装路径

输入如下命令让conda接管默认python

conda config --set auto_activate_base true # 默认使用conda
4.2 验证

安装完毕后重启终端,可以看到用户名@计算机名前出现了(base)

4.3 卸载

由于一开始我看了他的教程,用的./来运行安装程序,显示没权限,sudo也没用

ubuntu下miniconda安装_alex1801的博客-CSDN博客_ubuntu安装minicondahttps://blog.csdn.net/weixin_34910922/article/details/118161554我就直接sudo su进入root了,然后把miniconda装到root里了,root里的默认安装路径又和一般的不一样,导致我花了很多时间找安装路径

这里说下通用的卸载方法

默认安装路径是/home/miniconda3

首先用rm -rf /home/miniconda3/删除该文件夹里的所有文件,再输入

vim .bashrc

一般是在最末尾,注释掉环境变量(这里是我误装在root下的miniconda的注释环境变量的示意,root下的.bashrc和普通环境下的.bashrc里面的内容是不一样的)

 保存后使用source .bashrc重新激活环境变量文件,重启终端后验证是否存在base

(误装在root里的需要进root看base是否还在)

5. pytorch安装验证及卸载相关 5.1 安装

还是去清华源Index of /anaconda/cloud/pytorch/linux-64/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirrorhttps://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/linux-64/这里我选择的是pytorch-1.10.1-py3.6_cuda10.2_cudnn7.6.5_0.tar.bz2

一般来说miniconda装完之后,要新建一个python环境,然后把pytorch装在指定的环境里,这里我从简了(我是把pytorch装在base里,然后新建了一个python3.6的环境,不建议大家采用)

上述文件下载完之后,进入Downloads目录打开终端输入

conda install pytorch-1.10.1-py3.6_cuda10.2_cudnn7.6.5_0.tar.bz2
5.2 验证

安装完成后终端输入python后再依次输入,如果能import成功,并且torch.cuda.is_available()的返回值是true说明pytorch安装成功

import torch
torch.cuda.is_available()
5.3 卸载

卸载pytorch(我也不知道下面哪个指令是对的,我是在history里看的历史指令)

conda uninstall pytorch
conda remove pytorch
6. 其他问题 6.1 import torch失败

我在第一步import torch时出现了报错信息如下

OSError: libmkl_intel_lp64.so: cannot open shared object file: No such file or directory
这时需要先卸载pytorch,再重新用

conda install pytorch-1.10.1-py3.6_cuda10.2_cudnn7.6.5_0.tar.bz2

命令安装,就可以成功import torch了

6.2 torch.cuda.is_available()返回值为false

这里我的情况比较特殊,首先在终端输入nvidia-smi无法正常显示,出现如下报错信息

NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running

但是终端输入nvcc -V显示cuda安装成功,cudnn验证时说找不到设备,也进一步说明nvidia驱动有问题。

针对这个报错信息,网上很多博客都是用的下面这个方法

NVIDIA驱动失效简单解决方案:NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver._AI 菌的博客-CSDN博客前言: 以下方法,不需要重装驱动,简单快捷。适用于Ubuntu系统下,之前已经安装过驱动,但驱动失效的问题。如果此方法仍然无法解决问题,可参考Ubuntu下安装nvidia显卡驱动,重装驱动。前段时间刚装了驱动:Ubuntu下安装nvidia显卡驱动但是最近准备用GPU跑模型时,提示cuda 不存在。前段时间刚装的驱动,怎么会不存在呢?第一步,打开终端,先用nvidia-smi查看一下,发现如下报错:NVIDIA-SMI has failed because it couldn't com.https://blog.csdn.net/wjinjie/article/details/108997692但是在我这并不奏效,查阅资料后发现大概率是ubuntu内核版本和nvidia驱动版本不匹配,需要重装驱动。

用第一节的方法卸载后重装新的驱动。在终端用nvidia-smi验证nvidia驱动是否安装成功,再进入python重新查看torch.cuda.is_available()的返回值,发现为true,大功告成。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/714474.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-24
下一篇 2022-04-24

发表评论

登录后才能评论

评论列表(0条)

保存