Ubuntu 安装 pytorch

使用 pytorch 进行深度学习训练。 这也是我不得不选择 linux 的原因。本文是我多次安装时遇到的问题的汇总(包括笔记本和台式机,初始版本是基于我的笔记本电脑),故很多点可能并不会遇到,略过即可。

系统:ubuntu 22.04
型号:Lenovo Yoga 14sIHU 2021
集显:Irix Xe (lspci | grep -i vga)
独显:GeForce MX450 (lspci | grep -i nvidia)
在这里插入图片描述

安装驱动

图形化界面安装

Show Applications中搜索 Additional Drivers

在这里插入图片描述
选择最其中一个显卡驱动进行安装。其中如果对驱动了解不多,可以选择最上面那个,或者多选几次。对于我的环境而言,我记得第一次安装成功时是选最上面那个。但第二次安装时发现选择最上面之后重启时候,没办法进入系统了,一直卡住。

在这里插入图片描述
在网上查找了部分资料了,发现 Yoga14s(MX450)-Ubuntu20.04-显卡驱动安装
联想小新pro14/yoga 14s 2021安装ubuntu/kali/manjaro问题排雷 都提到了禁用nouveau。于是利用如下命令禁用nouveau,根据 Ubuntu20.04 系统禁用自带的Nouveau驱动

sudo vim /etc/modprobe.d/blacklist-nouveau.conf #该文件可能需要新建

在上述文件中添加如下语句。

blacklist nouveau
options nouveau modeset=0

更新initramfs

sudo update-initramfs -u

重启系统后,通过以下命令查看是否禁用,没有显示内容,则表示nouveau被成功禁用。

lsmod | grep nouveau

最后根据 ubuntu18.04 禁止nouveau 并安装NVIDIA显卡驱动 修改 /etc/default/grub 文件为
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi=linux"。注意考虑到在文章 双系统安装 ubuntu 22.04 + win11(yoga 14s 2021) 中我对grub文件的修改。则综合就变成了"quiet splash acpi_osi=linux i915.enable_psr=0 i8042.dumbkbd"

在这里插入图片描述
最后试着换了下驱动,可以安装,同时安装之后能够正常进入系统。这里有一个小技巧就是,如果安装完之后有个restart按钮,那么便是正常(并没有经过严谨的检验)。另外,上述的工作只是充分条件,并不一定必要。

在这里插入图片描述
使用nvidia-smi检验是否安装成功。如果直接在additional drivers那一步restart后就能够正常显示结果,则就说明安装成功了,不需要包括禁用nouveau在内的任何其他步骤。

在这里插入图片描述

命令行安装

同时 Ubuntu安装nvidia驱动_小潇港哥的博客-CSDN博客 这篇文章提供了命令行安装驱动的方法。就两句+重启。

sudo ubuntu-drivers devices # 查找
sudo apt install nvidia-driver-470 # 安装

安装包安装

在某次安装中(没错,就是这么多次。。。),不知道是不是 apt 损坏了,或者卸载时候尝试各种方法给搞崩了,使用 sudo apt install nvidia-driver-535 出现如下报错。

The following packages have unmet dependencies:
nvidia-dkms-545 : Depends: dkms but it is not installable
E: Unable to correct problems, you have held broken packages.

最后没办法只能通过安装包安装,幸运的是这次安装成功了。唉 😅.
Ubuntu18及22安装NVIDIA驱动、CUDA、CUDNN、Pytorch_ubuntu18安装显卡驱动-CSDN博客

【超详细】【ubunbu 22.04】 手把手教你安装nvidia驱动,有手就行,隔壁家的老太太都能安装_ubuntu安装nvidia显卡驱动_huiyoooo的博客-CSDN博客

其它一些命令根据 Linux安装NVIDIA显卡驱动的正确姿势

sudo prime-select nvidia # 切换nvidia显卡
sudo prime-select intel  # 切换intel显卡
sudo prime-select query  # 查看当前使用的显卡

卸载驱动

此外,卸载nvidia驱动的方式(如果有更详细的方式敬请指正)。

sudo apt-get --purge remove "*nvidia*"
sudo apt-get autoremove

在一次卸载中,出现以下报错,运行了 apt --fix-broken install 也没有任何用处。

You might want to run ‘apt --fix-broken install’ to correct these.
The following packages have unmet dependencies:
nvidia-dkms-535 : Depends: nvidia-kernel-common-535 (= 535.129.03-0ubuntu1) but 535.129.03-0ubuntu0.22.04.1 is installed
E: Unmet dependencies. Try ‘apt --fix-broken install’ with no packages (or specify a solution).

在最后之前可以试试这篇文章 ubuntu卸载显卡驱动

最后人品大爆发,总算找到命令成功把它卸载了。

sudo apt-get remove --purge '^nvidia-.*'

unity - How can I uninstall a nvidia driver completely ? - Ask Ubuntu

安装 cuda

访问 cuda-downloads,这里参考 解决在nvidia官网下载巨慢的问题。根据它的指示,下载后安装。注意 wget 同样可以把.com 改成 .cn。具体的过程可以参考 ubuntu20.04安装及pytorch_gpu、tensorflow2.X_gpu安装回顾

wget https://developer.download.nvidia.com/compute/cuda/12.0.1/local_installers/cuda_12.0.1_525.85.12_linux.run
sudo sh cuda_12.0.1_525.85.12_linux.run

在这里插入图片描述
在下载时如果遇到 wget: unable to resolve host address ‘developer.download.nvidia.com,sudo vim /etc/resolv.conf 添加域名服务器。

nameserver 223.5.5.5 #阿里域名服务器
nameserver 223.6.6.6 #阿里域名服务器

wget: unable to resolve host address ‘developer.download.nvidia.com’

在安装过程中需要取消驱动的安装(之前已经安装)。
在这里插入图片描述
最终得到。注意记录下红色标记的这些数据。(卸载cuda的方式也在下图中)
在这里插入图片描述
sudo gedit ~/.bashrc 将它们更新到 ~/.bashrc 文件(注意cuda-12.0替换成cuda也可以,因为是有软链的。但如果有多人共用且多个版本,很有可能一不注意版本就被替换了,推荐直接指明cuda的版本,即用cuda-12.0)。

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-12.0/lib64
export PATH=$PATH:/usr/local/cuda-12.0/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-12.0/

在这里插入图片描述
source ~/.bashrc 更新一下,再用 nvcc -V 检验一下。
在这里插入图

安装 cudnn

主要参考 Ubuntu22.04安装CUDA和cuDNN详细过程记录NVIDIA Deep Learning cuDNN Documentation。就是把下载的源码拷贝到刚才cuda的位置。

下载源码之后,解压后得到。

在这里插入图片描述
然后确定目标路径 /usr/local/cuda-12.0/include/usr/local/cuda-12.0/lib64

在这里插入图片描述
如果此时就在解压的文件夹内,就可以把参考文献中的命令修改为:

sudo cp ./include/cudnn*.h /usr/local/cuda-12.0/include
sudo cp -P ./lib/libcudnn* /usr/local/cuda-12.0/lib64
sudo chmod a+r /usr/local/cuda-12.0/include/cudnn*.h /usr/local/cuda-12.0/lib64/libcudnn*

非常推荐上述的参考文献,非常详细。

检验

cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

安装 Miniconda

首先安装 miniconda ,参考 在Ubuntu上安装和使用miniconda

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
sh Miniconda3-latest-Linux-x86_64.sh

根据提示完成即可。然后设置环境变量。在~/.bashrc 文件中 添加 export PATH="/home/moon/Tools/miniconda3/bin/:$PATH" (这里路径可以自己指定),然后更新 source ~/.bashrc完成。

另外,我发现 miniconda 中自己在 ~/.bashrc 文件写入了一段路径。

在这里插入图片描述
只需要 source ~/.bashrc 就能够调出conda。这样就相当于安装成功了。

在这里插入图片描述
可能是安装过程中的这个选项选择yes的缘故。但并没有细致探究过。

在这里插入图片描述
关于miniconda的使用,可以参考其他文献。另外,

安装 pytorch

在百度搜索pytorch进入官网,注意前面安装的是 cuda-12.0,而pytorch最新的是11.7,但我试了下,可以运行。或者可以回到cuda那一步下载pytorch对应的版本。

在这里插入图片描述
用下面代码来检验。

import torch
torch.__version__
torch.cuda.is_available()

在这里插入图片描述

  • 0
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值