当前位置: 首页 > news >正文

视觉进阶篇—— PyTorch 安装

文章目录

  • 前言
  • 一、前置准备:环境检查
  • 二、Conda 安装 PyTorch(推荐新手/环境隔离需求者) ## 2.3 安装 PyTorch(CPU/GPU 版)
      • **场景 1:CPU 版安装**
      • **场景 2:GPU 版安装(CUDA 11.8)**
  • 三、Pip 安装 PyTorch(适合熟悉 Pip 的用户)
    • 3.1 前置条件(GPU 版必看)
    • 3.2 安装 CPU 版
    • 3.3 安装 GPU 版(CUDA 11.8)
  • 四、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 推理的场景(如轻量级模型训练、数据处理):

conda install pytorch torchvision torchaudio cpuonly -c pytorch

如果觉得下载慢,别忘记使用镜像源哦~

场景 2:GPU 版安装(CUDA 11.8)

若显卡支持 CUDA 11.8(如 RTX 3060/4060,驱动 ≥ 520.61.05):

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

#重新创建一个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/
在这里插入图片描述
然后本地安装

conda install /home/moon/Downloads/pytorch-1.13.1-py3.9_cuda11.7_cudnn8.5.0_0.tar.bz2

在这里插入图片描述
在这里插入图片描述
验证方法.

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即可。

#安装缺失的运算库
conda install mkl==2024.0
#找不到库就使用下面的命令指定搜索源,这是Intel专有的
conda install mkl==2024.0 -c defaults --override-channels

ModuleNotFoundError: No module named ‘typing_extensions’
诸如此类报错,少啥补啥就行

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 版本:

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):

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:核心区别与选择建议

维度CondaPip
管理范围跨语言包(Python/C/C++库)+ 环境仅 Python 包
依赖解析自动解决二进制依赖(如 CUDA/cuDNN)仅解析 Python 依赖,需手动处理 C 库
环境隔离强(独立环境,不影响系统 Python)弱(依赖虚拟环境工具如 venv
安装速度较慢(需下载大体积二进制包)较快(仅 Python 轮子)
适用场景多项目隔离、GPU 依赖复杂轻量级项目、熟悉 Python 生态

总结

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

http://www.dtcms.com/a/606000.html

相关文章:

  • net开发网站站长素材音效
  • 登录场景下短信验证码功能的设计与实现(Vue 2 + Element UI + Axios附完整代码)
  • SpringBoot-36-开发实战JPA的使用(一对多)@OneToMany+@ManyToOne
  • 云桌面办公系统详解:开启灵活、安全、高效的工作新纪元
  • 尚硅谷 SpringCloud03 Sentinel服务保护(限流 熔断降级)-安装启动sentinel-请求限流-限流异常处理
  • 地产网站建设wordpress建站好么
  • EVM(以太坊虚拟机)及其运行机制详解
  • 跨境电商支付全链路解析
  • Qt+C++ 混合开发架构设计:QML 与 C++ 高效通信的解耦方案及设计模式
  • 网站项目实施方案聊城手机网站建设公司
  • Rust开发之Trait 定义通用行为——实现形状面积计算系统
  • The JAVA_HOME environment variable is not defined correctly 解决方案
  • 南昌网站建设工作开通微信公众号需要多少钱
  • 从“并发安全”到 Rust 的无畏并发实战
  • 当前网站开发的现状数据库网站建设公司
  • 网站竞价推广做网站资源管理是
  • 子域名泛解析技术详解与安全防护
  • SuperPoint 和 SIFT 的对比
  • 【云计算】【Kubernetes】 ① K8S的架构、应用及源码解析 - 核心架构与组件全景图
  • docker容器和分布式事务
  • 【剑斩OFFER】算法的暴力美学——寻找旋转排序数组中的最小值
  • Linux:基础开发工具(一)
  • 下载和调用通义千问大模型
  • 易站网站建设怎么做淘宝客网站和APP
  • 网站开发模板系统网站建设 排行
  • 安卓C语言编译器 | 提高开发效率,便捷进行C语言编程
  • python中的鸭子类型
  • 基于球面透视投影模型的鱼眼图像校正算法matlab仿真
  • TCP连接还在吗?主机拔掉网线后再插上,连接会断开吗?
  • 网站设计规划教学设计wordpress 代码转义