Ubuntu22.04中安装英伟达驱动并部署Pytorch深度学习环境

安装英伟达驱动

本文基于windows10+ubuntu22.04双系统,给ubuntu22.04安装英伟达驱动。

  1. 安装必要。依赖
shell 复制代码
sudo apt update  # 获取最新的软件包信息
sudo apt upgrade # 升级软件包
sudo apt install g++
sudo apt install gcc
sudo apt install make
  1. 禁用ubuntu默认驱动Nouveau。

ubuntu默认集成 Nouveau 驱动,能够提供基本的支持。我们现在需要安装 NVIDIA 官方的显卡驱动,就得先禁用默认驱动。

shell 复制代码
sudo vi /etc/modprobe.d/blacklist-nouveau.conf
# 插入下两行内容
blacklist nouveau
options nouveau modeset=0

# 禁用默认驱动生效
sudo update-initramfs -u

# 重启
sudo reboot

# 验证,果没有输出,则说明默认驱动已被成功禁用。
lsmod | grep nouveau
  1. 卸载之前安装的英伟达驱动。
shell 复制代码
sudo apt remove --purge nvidia*
  1. 查看系统检测到的显卡以及推荐的驱动程序版本。

通常会显示多个可用的驱动版本,有些版本可能带有 "recommended"(推荐)的标识。

shell 复制代码
ubuntu-drivers devices

# 可以看到推荐的驱动是nvidia-driver-560
  1. 使用PPA源安装推荐的英伟达驱动。

PPA(Personal Package Archive)库安装驱动是一种在 Ubuntu 等基于 Debian 的 Linux 系统中安装特定驱动程序的方法。

它允许用户方便地获取一些官方软件源之外的软件包及其特定版本。对于驱动程序来说,官方的 Ubuntu 软件源中可能提供的驱动版本有限,而 PPA 库可以提供更多更新或特定版本的驱动程序。

shell 复制代码
# 将图形驱动程序的 PPA 仓库添加到系统中,以便能够从该仓库获取 NVIDIA 驱动程序。
sudo add-apt-repository ppa:graphics-drivers/ppa

# 更新软件列表
sudo apt update

# 驱动改成自己系统刚刚推荐的版本,安装过程中提示设置密码,后面重启时需要用到。
sudo apt install nvidia-driver-560

# 安装 Mesa 相关的开发文档、头文件以及特定的 OpenGL 扩展规范等内容,以便开发者进行与图形相关的应用程序开发
sudo apt install mesa-common-dev
  1. 重启后,验证是否安装成功。
shell 复制代码
# 重启
reboot

# **注意**
重启后会出现蓝屏,蓝屏界面选择Enroll MOK, 确认后再选择Continue,接着输入刚刚安装驱动时设置的密码,输入时密码不会显示,确认后等待开机。

# 验证,如果显示你的系统GPU,即安装成功。如图,NVIDIA GeForce GTX 1050 Ti
nvidia-smi

部署Pytorch环境

miniconda 中部署 Pytorch环境

  1. 安装miniconda,最新版本请参考miniconda官网
shell 复制代码
# 这四个命令下载最新的 64 位版本的 Linux 安装程序,将其重命名为更短的文件名,静默安装,然后删除安装程序:
mkdir -p ~/miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm ~/miniconda3/miniconda.sh

# 安装后,关闭并重新打开终端应用程序或通过运行以下命令刷新它:(可以看到用户名前多个(base))
source miniconda3/bin/activate

# 在所有可用的 shell 上初始化 conda,请运行以下命令:
conda init --all
  1. cuda driver | pytorch | python 版本选择

上文的nvidia-smi输出可以看到我们安装的英伟达驱动中 Cuda Version:12.6,确保运行环境的cuda版本≤12.6。

pytorch官网中选择CUDA12.1,并且使用pip 的安装方式来安装pytorch。

torch与python版本对应表中可以看到``torch=2.4要求python3.8---3.12,所以我们可以选择python3.10`。

  1. 创建python3.10的虚拟环境。
shell 复制代码
conda create -n pytorch-cuda12.1 python=3.10 
conda activate pytorch-cuda12.1
python -V
pip -V
  1. 虚拟环境中安装pytorch。
shell 复制代码
pip3 install torch torchvision torchaudio
  1. 安装Jupyter。
shell 复制代码
pip install jupyter
jupyter notebook

# 浏览器打开 http://localhost:8888/tree?token=72855bd2a120e2ac671c7ffc0a13eaee1d9d059d5e5647e3
  1. 测试pytorch。

Jupyter中使用下列代码验证pytorch,输出结果如下图所示即通过。

python 复制代码
import torch
print(torch.cuda.is_available())
print(torch.__version__)
print(torch.__path__)
print(torch.version.cuda)
torch.backends.cudnn.version()

# GPU
x = torch.randn(1, 3, 224, 224).cuda()
conv = torch.nn.Conv2d(3, 3, 3).cuda()

out = conv(x)
print(out.sum())

参考文档

  1. Ubuntu20.04安装Nvidia显卡驱动教程
  2. Pytorch深度学习环境配置 | NVIDIA-driver + Pytorch + miniconda

欢迎关注我的博客,如有疑问或建议,请随时留言讨论。

相关推荐
昨日之日20061 小时前
Moonshine - 新型开源ASR(语音识别)模型,体积小,速度快,比OpenAI Whisper快五倍 本地一键整合包下载
人工智能·whisper·语音识别
浮生如梦_1 小时前
Halcon基于laws纹理特征的SVM分类
图像处理·人工智能·算法·支持向量机·计算机视觉·分类·视觉检测
深度学习lover1 小时前
<项目代码>YOLOv8 苹果腐烂识别<目标检测>
人工智能·python·yolo·目标检测·计算机视觉·苹果腐烂识别
热爱跑步的恒川2 小时前
【论文复现】基于图卷积网络的轻量化推荐模型
网络·人工智能·开源·aigc·ai编程
阡之尘埃4 小时前
Python数据分析案例61——信贷风控评分卡模型(A卡)(scorecardpy 全面解析)
人工智能·python·机器学习·数据分析·智能风控·信贷风控
孙同学要努力6 小时前
全连接神经网络案例——手写数字识别
人工智能·深度学习·神经网络
Eric.Lee20216 小时前
yolo v5 开源项目
人工智能·yolo·目标检测·计算机视觉
其实吧37 小时前
基于Matlab的图像融合研究设计
人工智能·计算机视觉·matlab
丕羽7 小时前
【Pytorch】基本语法
人工智能·pytorch·python
ctrey_7 小时前
2024-11-1 学习人工智能的Day20 openCV(2)
人工智能·opencv·学习