CUDA cuDNN和pytorch(GPU版)的完整安装教程

* 说明: 本教程使用wsl-ubuntu20.04, 其他发行版linux的命令可能有所区别.

*实测机型: i5-13500HX | RTX 4060 Laptop

一、下载CUDA12.X版本

这里以下载CUDA12.2为例。

  1. 前往cuda-12.2下载页, 按照如图方式选择合适的选项:
  2. 按照官方给出的命令, 在bash中依此执行:
bash 复制代码
​wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get -y install cuda
  1. 添加环境变量
    使用vim等打开~/.bashrc,在末尾添加:
bash 复制代码
export PATH=/usr/local/cuda-12.2/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-12.2/lib64:$LD_LIBRARY_PATH
  1. 验证安装是否成功
bash 复制代码
source ~/.bashrc
nvcc -V  # 查看CUDA版本
二、下载cuDNN
  1. 前往cuDNN Archive 下载合适的cudnn版本。由于我们下载的是CUDA12.X版本,这里我们就选择下载8.9.7版本的cudnn.

    点击后浏览器会接管下载, 可以通过如图方式复制下载链接.

  2. 安装cudnn软件包

我们在终端中输入以下命令:

bash 复制代码
wget -O cudnn.deb <你的下载链接>  # 下载的文件会命名为cudnn.deb
dpkg -i cudnn.deb  # 安装前置软件包
sudo apt update # 更新并获取cudnn的下载源
sudo apt-get install libcudnn8 # 正式安装cudnn软件包
sudo apt-get install libcudnn8-dev # 安装cudnn开发库(可选)

完成上述工作后,可通过下述命令检测是否安装成功:

bash 复制代码
ls /usr/lib/x86_64-linux-gnu/libcudnn*
ls /usr/include/cudnn.h
dpkg -l | grep -i cudnn
三、安装GPU版的pytorch

Pytorch下载地址

Pytorch包含三个库:torch,torchvision和torchaudio;根据社区的说明,torch-cu118版本能够兼容CUDA12.X,可通过该命令进行安装:

bash 复制代码
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

* 官方更新后通过pip默认下载的就是支持CUDA12.1的pytorch, 命令如下:

bash 复制代码
pip3 install torch torchvision torchaudio

注: 本教程安装的是cu118版本, 读者可尝试第二种方法进行安装。

四、验证pytorch的CUDA可用性
  1. 先确定pytorch有没有装错,可以在终端输入pip list,查看torch版本,cu后缀就表示支持GPU。
  2. 在python中执行torch.cuda.is_available() 返回True说明使用的就是GPU版本。
五、体验Pytorch GPU和CPU运算的速度差距
python3 复制代码
import torch
from time import perf_counter

def cpu_process():
    x = torch.rand(1000,10000)
    y = torch.rand(10000,10000)
    start = perf_counter()
    x.mm(y)
    end = perf_counter()
    print('CPU process time:',end-start)
    
def gpu_process():
    x = torch.rand(1000,10000).cuda()
    y = torch.rand(10000,10000).cuda()
    start = perf_counter()
    x.mm(y)
    end = perf_counter()
    print('GPU process time:',end-start)

if __name__ == '__main__':
    cpu_process()  # CPU process time: 0.5139300849996289
    gpu_process()  # GPU process time: 0.02356865599995217

可以明显看到GPU运算速度相比CPU快了20倍左右 !

相关推荐
夜影风24 分钟前
Linux系统中自签名HTTPS证书
linux·运维·https
鹏码纵横1 小时前
已解决:java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 异常的正确解决方法,亲测有效!!!
java·python·mysql
仙人掌_lz1 小时前
Qwen-3 微调实战:用 Python 和 Unsloth 打造专属 AI 模型
人工智能·python·ai·lora·llm·微调·qwen3
成工小白1 小时前
【Linux】C语言模拟实现shell命令行(程序替换原理)
linux·运维·服务器
猎人everest2 小时前
快速搭建运行Django第一个应用—投票
后端·python·django
猎人everest2 小时前
Django的HelloWorld程序
开发语言·python·django
chusheng18403 小时前
2025最新版!Windows Python3 超详细安装图文教程(支持 Python3 全版本)
windows·python·python3下载·python 安装教程·python3 安装教程
别勉.3 小时前
Python Day50
开发语言·python
m0_678693333 小时前
深度学习笔记26-天气预测(Tensorflow)
笔记·深度学习·tensorflow
美林数据Tempodata3 小时前
大模型驱动数据分析革新:美林数据智能问数解决方案破局传统 BI 痛点
数据库·人工智能·数据分析·大模型·智能问数