文章目录
- 前言
- 一、前置准备:环境检查
- [二、Conda 安装 PyTorch(推荐新手/环境隔离需求者) ## 2.3 安装 PyTorch(CPU/GPU 版)](## 2.3 安装 PyTorch(CPU/GPU 版))
-
-
- [**场景 1:CPU 版安装**](#场景 1:CPU 版安装)
- [**场景 2:GPU 版安装(CUDA 11.8)**](#场景 2:GPU 版安装(CUDA 11.8))
-
- [三、Pip 安装 PyTorch(适合熟悉 Pip 的用户)](#三、Pip 安装 PyTorch(适合熟悉 Pip 的用户))
-
- [3.1 前置条件(GPU 版必看)](#3.1 前置条件(GPU 版必看))
- [3.2 安装 CPU 版](#3.2 安装 CPU 版)
- [3.3 安装 GPU 版(CUDA 11.8)](#3.3 安装 GPU 版(CUDA 11.8))
- [四、Conda vs Pip:核心区别与选择建议](#四、Conda vs Pip:核心区别与选择建议)
- 总结
前言
Pytorch和TensorFlow是现在深度学习比较主流的框架,近些年来百度飞浆paddlepaddle框架在OCR识别上有着不错的成果。对于初学者来说,pytorch可以使用几行代码进行训练观察较为友好,并且现在大多模型使用的框架都为pytorch.因此学习安装使用pytorch是非常有必要的。
PyTorch 作为深度学习领域的"顶流框架",其安装方式灵活多样。本文将针对 Ubuntu 系统 ,详细讲解 CPU 版 与 GPU 版 PyTorch 的安装方法,对比 Conda 与 Pip 两种工具的差异,并总结适用场景,助你避开常见坑点!
一、前置准备:环境检查
在安装前,需确认以下基础环境(以 Ubuntu 20.04 为例):
- 显卡驱动
- CUDA 工具包
- CUDNN
- conda环境
二、Conda 安装 PyTorch(推荐新手/环境隔离需求者) ## 2.3 安装 PyTorch(CPU/GPU 版)
访问pytorch主页https://pytorch.org/get-started/locally/
PyTorch 官网提供了自动生成安装命令的工具,可根据需求选择配置:

最新的pytorch官网已经去掉了conda安装的命令选项,我们可以点击历史版本进行conda安装的选择,实际上除了非常前沿的模型,我们更多使用的是pytorch1.x版本而不是现有的pytorch2.x。

往下找可以发现conda安装的pytorch支持到了2.5.1这对于我们竞赛同学来说是绝对够用的。除了本身的pytorch安装,还提供了针对于需要cuda的版本命令,使用该命令安装的pytorch相当于自带了一个可以正常使用的cuda和cudnn环境。

有的时候我们并不希望在本机环境中安装太多cuda版本,conda安装pytorch时会同时下载对应的cuda和cudnn版本并且与本地环境进行隔离,使得我们可以做到类cuda多版本共存。
如果你自己往下滑就会发现pytorch1.x支持的最高CUDA版本为11.7,所以如果你使用的CUDA版本过高,可能不太兼容pytorch1.x

场景 1:CPU 版安装
适合无 GPU 或仅需 CPU 推理的场景(如轻量级模型训练、数据处理):
bash
conda install pytorch torchvision torchaudio cpuonly -c pytorch
如果觉得下载慢,别忘记使用镜像源哦~
场景 2:GPU 版安装(CUDA 11.8)
若显卡支持 CUDA 11.8(如 RTX 3060/4060,驱动 ≥ 520.61.05):
bash
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
说明:
torchvision和torchaudio是 PyTorch 的视觉/音频扩展库,通常与主框架一起安装。pytorch-cuda=11.8显式指定 CUDA 版本,Conda 会自动安装匹配的 CUDA 运行时库(无需手动安装系统级 CUDA)。
后续我们会使用yolov5,所以这里我打算使用conda安装带有cuda版本的pytorch1.13.1-cuda11.7
bash
#重新创建一个yolov5环境
conda create -n yolov5 python=3.9
conda activate yolov5
conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.7 -c pytorch -c nvidia
-c pytorch -c nvidia
-c 指定安装时的渠道(channel)。
第一条 -c pytorch:从 PyTorch 官方渠道获取 PyTorch、TorchVision、Torchaudio 及对应的 CUDA 变体等包。
第二条 -c nvidia:从 NVIDIA 渠道获取与 CUDA 相关的依赖(如 cudatoolkit、cuDNN 等的兼容版本)。
这两个渠道组合在一起,确保能找到与你指定版本匹配的所有依赖,并尽量避免版本冲突。
使用这两个-c时是使用的pytorch和nvidia仓库的安装包,但是下载速度比较慢。


这个下载速度我可以忍受。
如果大家忍受不了这个速度可以到pytorch仓库找到对应的包进行手动下载
https://conda.anaconda.org/pytorch/linux-64/

然后本地安装
bash
conda install /home/moon/Downloads/pytorch-1.13.1-py3.9_cuda11.7_cudnn8.5.0_0.tar.bz2


验证方法.
bash
python
import torch
print(torch.__version__)
print(torch.cuda.is_available())
print(torch.version.cuda)
如果大家发现有报错:
OSError: libmkl_intel_lp64.so: cannot open shared object file: No such file or directory
这是缺少了MKL的库文件。Intel MKL(Math Kernel Library,数学核心库)是Intel提供的一组高性能、可扩展的数学库,主要用于科学计算、工程计算、金融分析等领域
pytorch和含一个symbol变量的老版本的mkl不兼容,该版本的mkl在mkl2024.0.0以后被删除,所以只要安装mkl2024.0.0以后版本的mkl即可。
bash
#安装缺失的运算库
conda install mkl==2024.0
#找不到库就使用下面的命令指定搜索源,这是Intel专有的
conda install mkl==2024.0 -c defaults --override-channels
ModuleNotFoundError: No module named 'typing_extensions'
诸如此类报错,少啥补啥就行
bash
conda/pip install typing_extensions
最后验证结果
第二个反馈必须是True
第二个反馈必须是True
第二个反馈必须是True
重要的事情说三遍,否则代表你安装的pytorch无法与你的cuda联系,简单来说就是无法调用你的GPU。GPU版pytorch安装失败,请重新观看教程并重新安装!

三、Pip 安装 PyTorch(适合熟悉 Pip 的用户)
Pip 是 Python 官方包管理器,优势是轻量、依赖 Python 生态,但需手动处理 C/C++ 库依赖(如 CUDA、cuDNN)。
3.1 前置条件(GPU 版必看)
- 已安装 系统级 CUDA 工具包 (如 CUDA 12.4)和 cuDNN(与 CUDA 版本匹配)。
- 验证 CUDA 可用:
nvcc --version输出与 PyTorch 兼容的版本。
pip安装虽然也是在conda虚拟环境中,但是在训练代码过程中它需要使用本地的cuda进行训练,因此如果你的cuda是12+的版本,无法直接使用pytorch1.x,只能通过pytorch2.x使用yolov5,虽然无法直接开箱即用但是修改pytorch代码以适配。这也是为什么我更推荐使用conda安装pytorch,这玩意除了占内存以外没啥太多缺点
3.2 安装 CPU 版
直接通过 Pip 安装纯 CPU 版本:
bash
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
3.3 安装 GPU 版(CUDA 11.8)
需指定 CUDA 版本的 PyTorch 包(Pip 包名含 cu118 表示 CUDA 11.8):
bash
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
#使用下面这个可以使用清华源等镜像源加速,但是如果cuda不匹配的话会返回false或者其他错误
pip install torch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1
如果你的ubuntu系统中有多个 CUDA 版本,需通过 LD_LIBRARY_PATH 指定 PyTorch 使用的 CUDA 路径(如 export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH),通过之前我写的环境变量控制cuda版本切换可以实现对应cuda的pytorch使用。
四、Conda vs Pip:核心区别与选择建议
| 维度 | Conda | Pip |
|---|---|---|
| 管理范围 | 跨语言包(Python/C/C++库)+ 环境 | 仅 Python 包 |
| 依赖解析 | 自动解决二进制依赖(如 CUDA/cuDNN) | 仅解析 Python 依赖,需手动处理 C 库 |
| 环境隔离 | 强(独立环境,不影响系统 Python) | 弱(依赖虚拟环境工具如 venv) |
| 安装速度 | 较慢(需下载大体积二进制包) | 较快(仅 Python 轮子) |
| 适用场景 | 多项目隔离、GPU 依赖复杂 | 轻量级项目、熟悉 Python 生态 |
总结
看到这里你可能对之前的教程产生了很多怨恨情绪,但是请记住这是不断学习的过程,势必需要推翻一些东西,大家需要有自己的判断和思路,这也是每次我跟同学说,你需要通读全文之后再开始操作的原因。不要害怕重装系统哦~