视觉进阶篇—— PyTorch 安装

文章目录

  • 前言
  • 一、前置准备:环境检查
  • [二、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 的安装方法,对比 CondaPip 两种工具的差异,并总结适用场景,助你避开常见坑点!

一、前置准备:环境检查

在安装前,需确认以下基础环境(以 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

说明

  • torchvisiontorchaudio 是 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 生态

总结

看到这里你可能对之前的教程产生了很多怨恨情绪,但是请记住这是不断学习的过程,势必需要推翻一些东西,大家需要有自己的判断和思路,这也是每次我跟同学说,你需要通读全文之后再开始操作的原因。不要害怕重装系统哦~

相关推荐
Dawson Zhu1 分钟前
【AI架构前沿】MEMO:解耦推理与记忆,破解大模型“知识更新“与“灾难性遗忘“的两难困境
人工智能·架构·aigc·agi
江湖有缘4 分钟前
跨平台AI终端Wave:智能SSH与文件管理
运维·人工智能·ssh
IT_陈寒11 分钟前
Python装饰器把我坑惨了,原来这样用才不掉链子
前端·人工智能·后端
吃旺旺雪饼的小男孩12 分钟前
自动驾驶图像分割开源数据集指南(2026)
人工智能·开源·自动驾驶
A133455513 分钟前
视频特效字幕怎么翻译?保姆级AI字幕与外挂字幕教程
人工智能·音视频
飞哥数智坊15 分钟前
我给 DeepSeek 看了两次截图,才发现 Vision 真正的价值
人工智能·ai编程·deepseek
飞哥数智坊26 分钟前
AI提升了人效,但组织却接不住释放的生产力
人工智能
飞哥数智坊35 分钟前
什么才叫真正的端到端?
人工智能
ly768941 分钟前
XML 从入门到实践:语法、命名空间、XPath、XSD 与 Java 安全解析
xml·java·python