【B站保姆级视频教程:Jetson配置YOLOv11环境(六)PyTorchTorchvision安装】

ops/2025/2/7 1:38:51/

Jetson配置YOLOv11环境(6)PyTorch&Torchvision安装

文章目录

  • 1. 安装PyTorch
    • 1.1安装依赖项
    • 1.2 下载torch wheel 安装包
    • 1.3 安装
  • 2. 安装torchvisiion
    • 2.1 安装依赖
    • 2.2 编译安装torchvision
      • 2.2.1 Torchvisiion版本选择
      • 2.2.2 下载torchvisiion到Downloads目录下
      • 2.2.3 编译安装torchvision
    • 2.3 安装过程可能出现的bug
  • 3. 验证
  • 4. 更便捷的安装方式
    • 4.1 JetPack 5.1.2
    • 4.2 JetPack 6.1

1. 安装PyTorch

1.1安装依赖项

sudo apt install libopenblas-dev

libopenblas-dev作用:提供优化的BLAS(Basic Linear Algebra Subprograms)库,用于高效执行线性代数运算。
影响:PyTorch依赖于高效的线性代数运算来加速深度学习模型的训练和推理。libopenblas-dev提供了优化的BLAS实现,可以显著提升PyTorch的性能,尤其是在CPU上运行时。

1.2 下载torch wheel 安装包

前往PyTorch for Jetson,下载所安装的jetpack版本支持的最高版本的torch wheel 安装包到Downloads目录下。

cd /Downloads
wget https://developer.download.nvidia.cn/compute/redist/jp/v512/pytorch/torch-2.1.0a0+41361538.nv23.06-cp38-cp38-linux_aarch64.whl

例如:jetpack5.1.x对应下图中红框的torch安装包,需注意Python 版本为 3.8。

在这里插入图片描述

1.3 安装

pip install torch-2.1.0a0+41361538.nv23.06-cp38-cp38-linux_aarch64.whl

2. 安装torchvisiion

2.1 安装依赖

pip install numpy requests Pillow
sudo apt install libjpeg-dev libpng-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev 

2.2 编译安装torchvision

torchvision暂未发布直接能pip安装的whl版本,因此直接从源码编译。

2.2.1 Torchvisiion版本选择

以torch2.1.0为例,对应的torchvisiion版本为0.16.x。
torch与torchvision版本对应关系

torchtorchvisionPython
main / nightlymain / nightly>=3.9, <=3.12
2.50.20>=3.9, <=3.12
2.40.19>=3.8, <=3.12
2.30.18>=3.8, <=3.12
2.20.17>=3.8, <=3.11
2.10.16>=3.8, <=3.11
2.00.15>=3.8, <=3.11

2.2.2 下载torchvisiion到Downloads目录下

(1)网络ok的话,直接克隆到本地。

cd ./Downloads
git clone --branch v0.16.2 https://github.com/pytorch/vision

(2)网络不行clone慢的话,直接下载压缩包到PC

在这里插入图片描述
再上传jetson,解压即可

unzip vision-0.16.2.zip

2.2.3 编译安装torchvision

cd vision-0.16.2					# 进入torchvision目录
export BUILD_VERSION=0.16.2  		# 将BUILD_VERSION环境变量设置为值 0.16.2  
python3 setup.py install --user		# 使用 Python 的 setuptools 工具将vision包安装到当前用户的本地目录中

需要等待30min左右,出现以下提示则安装成功

在这里插入图片描述

安装成功后退出torchvision的安装目录再import torchvision进行验证,否则会出现以下warning

(pytorch) nx@nx-desktop:~/Downloads/vision-0.15.2$ python
Python 3.8.18 (default, Sep 11 2023, 13:19:25) 
[GCC 11.2.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torchvision
/home/nx/Downloads/vision-0.15.2/torchvision/io/image.py:13: UserWarning: Failed to load image Python extension: ''If you don't plan on using image functionality from `torchvision.io`, you can ignore this warning. Otherwise, there might be something wrong with your environment. Did you have `libjpeg` or `libpng` installed before building `torchvision` from source?warn(
/home/nx/Downloads/vision-0.15.2/torchvision/__init__.py:25: UserWarning: You are importing torchvision within its own root folder (/home/nx/Downloads/vision-0.15.2). This is not expected to work and may give errors. Please exit the torchvision project source and relaunch your python interpreter.warnings.warn(message.format(os.getcwd()))

2.3 安装过程可能出现的bug

若出现error: [Errno 2] No such file or directory: ':/usr/local/cuda/bin/nvcc',请参照:

jetson编译torchvision出现 No such file or directory: ‘:/usr/local/cuda/bin/nvcc‘

3. 验证

查看pytorch运行时真正调用的cuda、cudnn版本:

python -c "import torch; import torchvision; print('PyTorch version:', torch.__version__); print('CUDA available:', torch.cuda.is_available()); print('CUDA version:', torch.version.cuda); print('cuDNN enabled:', torch.backends.cudnn.enabled); print('cuDNN version:', torch.backends.cudnn.version()); print('Torchvision version:', torchvision.__version__)"

在这里插入图片描述


2025-2-4 19:47:09更新:发现了更便捷的安装方式,ultralytics官方已经提供了编译好的torchvision whl包。

4. 更便捷的安装方式

在安装完torch和torchvision的依赖之后,运行下述两行命令即可。若下载慢,出现WARNING: Retrying,直接先下载到本地PC再上传jetson安装即可。
在这里插入图片描述

4.1 JetPack 5.1.2

安装 torch 2.1.0torchvision 0.16.2

pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torch-2.1.0a0+41361538.nv23.06-cp38-cp38-linux_aarch64.whl
pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torchvision-0.16.2+c6f3977-cp38-cp38-linux_aarch64.whl

4.2 JetPack 6.1

安装 torch 2.5.0torchvision 0.20

pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torch-2.5.0a0+872d972e41.nv24.08-cp310-cp310-linux_aarch64.whl
pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torchvision-0.20.0a0+afc54f7-cp310-cp310-linux_aarch64.whl

安装 cuSPARSELt 的依赖性问题 torch 2.5.0

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/arm64/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 libcusparselt0 libcusparselt-dev

http://www.ppmy.cn/ops/156309.html

相关文章

『VUE』vue-quill-editor富文本编辑器添加按钮houver提示(详细图文注释)

目录 预览效果新建一个config.js存放标题编写添加提示的方法调用添加标题方法的生命周期总结 欢迎关注 『VUE』 专栏&#xff0c;持续更新中 欢迎关注 『VUE』 专栏&#xff0c;持续更新中 预览效果 新建一个config.js存放标题 export const titleConfig [{ Choice: .ql-bold…

64.进度条 C#例子 WPF例子

进度条是比较简单&#xff0c;前台一个进度条&#xff0c;后台给value赋值0到100就可以显示进度了。 完整代码&#xff1a; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using Sy…

【lua编程实操(一)】函数和闭包

&#x1f493;博主CSDN主页:杭电码农-NEO&#x1f493;   ⏩专栏分类:lua从入门到精通⏪   &#x1f69a;代码仓库:NEO的学习日记&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学更多lua语言的知识   &#x1f51d;&#x1f51d; lua编程实操 1. 函数的类值2. …

深入探索 Android 技术:从基础到前沿

深入探索 Android 技术&#xff1a;从基础到前沿 在移动应用开发领域&#xff0c;Android 凭借其开源特性和庞大的用户基础&#xff0c;成为开发者们不可忽视的重要平台。今天&#xff0c;让我们深入探讨 Android 技术的方方面面&#xff0c;从基础原理到前沿应用&#xff0c;…

高压GaN(氮化镓)器件在工业和汽车应用存在的致命弱点

高压GaN&#xff08;氮化镓&#xff09;器件在工业和汽车应用存在的致命弱点和被成熟低价的碳化硅MOSFET取代的原因。 高压GaN&#xff08;氮化镓&#xff09;器件虽然因其高电子迁移率、高击穿场强和高频特性备受青睐&#xff0c;但在大功率高压应用&#xff08;如电动汽车、光…

基于PostGIS的省域空间相邻检索实践

目录 前言 一、相关空间检索函数 1、ST_touches函数 2、ST_Intersects函数 3、ST_Relate函数 4、区别于对比 二、空间相邻检索实践 1、省域表相关介绍 2、相关省域相邻查询 3、全国各省份邻居排名 三、总结 前言 在当今数字化时代&#xff0c;地理空间数据的高效管理…

对比JSON和Hessian2的序列化格式

在分布式系统中&#xff0c;数据的序列化和反序列化是关键环节。不同的序列化格式在性能、可读性和跨语言兼容性上存在显著差异。本文将详细对比JSON和Hessian2这两种序列化格式&#xff0c;以帮助开发者在不同的应用场景中做出更好的选择。 JSON 概述 JSON&#xff08;Java…

51单片机 01 LED

一、点亮一个LED 在STC-ISP中单片机型号选择 STC89C52RC/LE52RC&#xff1b;如果没有找到hex文件&#xff08;在objects文件夹下&#xff09;&#xff0c;在keil中options for target-output- 勾选 create hex file。 如果要修改编程 &#xff1a;重新编译-下载/编程-单片机重…