Linux 35.6 + JetPack v5.1.4之 pytorch升级

Linux 35.6 + JetPack v5.1.4之 pytorch升级

1. 源由

鉴于之前NVIDIA提供基于JetPack v5.1.4二进制pytorch版本最高为 v2.1.0

经过不断地各方努力,《Linux 35.6 + JetPack v5.1.4之编译 pytorch》,我们已经有了python3.8.0的 pytorch v2.4.1.

2. 升级

步骤1:获取二进制版本

bash 复制代码
$ wget https://github.com/SnapDragonfly/pytorch/releases/download/v2.3.1%2Bl4t35.6-cp38-cp38-aarch64/torch-2.3.1+l4t35.6-cp38-cp38-linux_aarch64.whl

步骤2:安装二进制版本

bash 复制代码
$ sudo pip3 install torch-2.3.1+l4t35.6-cp38-cp38-linux_aarch64.whl

步骤3:获取torchvision

bash 复制代码
$ git clone https://github.com/SnapDragonfly/vision.git torchvision
$ cd torchvision
$ git checkout nvidia_v0.19.1

关于pytorch和torchvision之间的版本匹配问题,详见:

步骤4:安装torchvision

bash 复制代码
$ export BUILD_VERSION=0.19.1
$ sudo python3 setup.py install --user
$ cd ..

步骤5:检查安装版本

bash 复制代码
$ git clone https://github.com/SnapDragonfly/jetson-fpv.git
$ cd jetson-fpv
$ sudo ./wrapper.sh version
[sudo] password for daniel:
Skipping CMD_KEYMONITOR execution for module 'version'.
Executing command on module version:

Software part of jetson-stats 4.2.12 - (c) 2024, Raffaello Bonghi
Model: NVIDIA Orin Nano Developer Kit - Jetpack 5.1.4 [L4T 35.6.0]
NV Power Mode[0]: 15W
Serial Number: [XXX Show with: jetson_release -s XXX]
Hardware:
 - P-Number: p3767-0005
 - Module: NVIDIA Jetson Orin Nano (Developer kit)
Platform:
 - Distribution: Ubuntu 20.04 focal
 - Release: 5.10.216-tegra
jtop:
 - Version: 4.2.12
 - Service: Active
Libraries:
 - CUDA: 11.4.315
 - cuDNN: 8.6.0.166
 - TensorRT: 8.5.2.2
 - VPI: 2.4.8
 - OpenCV: 4.9.0 - with CUDA: YES
DeepStream C/C++ SDK version: 6.3

Python Environment:
Python 3.8.10
    GStreamer:                   YES (1.16.3)
  NVIDIA CUDA:                   YES (ver 11.4, CUFFT CUBLAS FAST_MATH)
        OpenCV version: 4.9.0  CUDA True
          YOLO version: 8.3.33
         Torch version: 2.4.1+l4t35.6
   Torchvision version: 0.19.1a0+6194369
DeepStream SDK version: 1.1.8

3. 使用

略,参考《Ardupilot开源无人机之Geek SDK讨论》

bash 复制代码
$ cd jetson-fpv
$ sudo ./wrapper.sh dsyolo start

4. 补充

4.1 torchvision版本问题

若仍然使用之前NVIDIA安装 v2.1.0 版本对应的 torchvision v0.16.1 或者 0.16.2 则会出现以下报错!

bash 复制代码
$ sudo ./wrapper.sh version
Skipping CMD_KEYMONITOR execution for module 'version'.
Executing command on module version:

Software part of jetson-stats 4.2.12 - (c) 2024, Raffaello Bonghi
Model: NVIDIA Orin Nano Developer Kit - Jetpack 5.1.4 [L4T 35.6.0]
NV Power Mode[0]: 15W
Serial Number: [XXX Show with: jetson_release -s XXX]
Hardware:
 - P-Number: p3767-0005
 - Module: NVIDIA Jetson Orin Nano (Developer kit)
Platform:
 - Distribution: Ubuntu 20.04 focal
 - Release: 5.10.216-tegra
jtop:
 - Version: 4.2.12
 - Service: Active
Libraries:
 - CUDA: 11.4.315
 - cuDNN: 8.6.0.166
 - TensorRT: 8.5.2.2
 - VPI: 2.4.8
 - Vulkan: 1.3.204
 - OpenCV: 4.9.0 - with CUDA: YES
DeepStream C/C++ SDK version: 6.3

Python Environment:
Python 3.8.10
    GStreamer:                   YES (1.16.3)
  NVIDIA CUDA:                   YES (ver 11.4, CUFFT CUBLAS FAST_MATH)
        OpenCV version: 4.9.0  CUDA True
          YOLO version: WARNING ⚠️ torchvision==0.16 is incompatible with torch==2.4.
Run 'pip install torchvision==0.19' to fix torchvision or 'pip install -U torch torchvision' to update both.
For a full compatibility table see https://github.com/pytorch/vision#installation
8.3.33
         Torch version: 2.4.1+l4t35.6
   Torchvision version: 0.16.1+fdea156
DeepStream SDK version: 1.1.8

4.2 支持pytorch版本

目前,支持4个pytorch版本:

4.3 opencv-python>=4.6.0问题

实际笔者环境是OpenCV4.9.0,但是还是报错;而使用python代码没有问题。

bash 复制代码
$ sudo pip3 install torch-2.4.1+l4t35.6-cp38-cp38-linux_aarch64.whl
[sudo] password for daniel:
Processing ./torch-2.4.1+l4t35.6-cp38-cp38-linux_aarch64.whl
Requirement already satisfied: jinja2 in /usr/lib/python3/dist-packages (from torch==2.4.1+l4t35.6) (2.10.1)
Requirement already satisfied: sympy in /usr/local/lib/python3.8/dist-packages (from torch==2.4.1+l4t35.6) (1.13.3)
Requirement already satisfied: fsspec in /usr/local/lib/python3.8/dist-packages (from torch==2.4.1+l4t35.6) (2024.10.0)
Requirement already satisfied: networkx in /usr/local/lib/python3.8/dist-packages (from torch==2.4.1+l4t35.6) (3.1)
Requirement already satisfied: typing-extensions>=4.8.0 in /usr/local/lib/python3.8/dist-packages (from torch==2.4.1+l4t35.6) (4.12.2)
Requirement already satisfied: filelock in /usr/lib/python3/dist-packages (from torch==2.4.1+l4t35.6) (3.0.12)
Requirement already satisfied: mpmath<1.4,>=1.1.0 in /usr/local/lib/python3.8/dist-packages (from sympy->torch==2.4.1+l4t35.6) (1.3.0)
ERROR: ultralytics 8.3.33 requires opencv-python>=4.6.0, which is not installed.
Installing collected packages: torch
  Attempting uninstall: torch
    Found existing installation: torch 2.1.0a0+41361538.nv23.6
    Uninstalling torch-2.1.0a0+41361538.nv23.6:
      Successfully uninstalled torch-2.1.0a0+41361538.nv23.6
Successfully installed torch-2.4.1+l4t35.6
相关推荐
AlfredZhao2 天前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
戴为沐3 天前
Linux内存扩容指南
linux
zylyehuo3 天前
Linux 彻底且安全地删除文件
linux
weiwei228443 天前
神经网络模型导出及开放标准格式ONNX
pytorch·onnx
用户805533698034 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297914 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
Web3探索者5 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo5 天前
Linux系统中网线与USB网络共享冲突
linux
Sokach10157 天前
Linux Shell 脚本从零到能用:一个新手的一天学习总结
linux
AlfredZhao7 天前
Docker 容器时区不对,`timedatectl` 不存在怎么办?
linux·timezone