Linux 35.6 + JetPack v5.1.4之編譯 pytorch升級
- 1. 源由
- 2. 升級
- 步驟1:獲取二進制版本
- 步驟2:安裝二進制版本
- 步驟3:獲取torchvision
- 步驟4:安裝torchvision
- 步驟5:檢查安裝版本
- 3. 使用
- 4. 補充
- 4.1 torchvision版本問題
- 4.2 支持pytorch版本
- 4.3 opencv-python>=4.6.0問題
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:獲取二進制版本
$ 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:安裝二進制版本
$ sudo pip3 install torch-2.3.1+l4t35.6-cp38-cp38-linux_aarch64.whl
步驟3:獲取torchvision
$ git clone https://github.com/SnapDragonfly/vision.git torchvision
$ cd torchvision
$ git checkout nvidia_v0.19.1
步驟4:安裝torchvision
$ export BUILD_VERSION=0.19.1
$ sudo python3 setup.py install --user
$ cd ..
步驟5:檢查安裝版本
$ 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.3Python Environment:
Python 3.8.10GStreamer: YES (1.16.3)NVIDIA CUDA: YES (ver 11.4, CUFFT CUBLAS FAST_MATH)OpenCV version: 4.9.0 CUDA TrueYOLO version: 8.3.33Torch version: 2.4.1+l4t35.6Torchvision version: 0.19.1a0+6194369
DeepStream SDK version: 1.1.8
3. 使用
略,參考《Ardupilot開源無人機之Geek SDK討論》
- SnapDragonfly/jetson-fpv
$ cd jetson-fpv
$ sudo ./wrapper.sh dsyolo start
4. 補充
4.1 torchvision版本問題
若仍然使用之前NVIDIA安裝 v2.1.0
版本對應的 torchvision
v0.16.1
或者 0.16.2
則會出現以下報錯!
$ 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.3Python Environment:
Python 3.8.10GStreamer: YES (1.16.3)NVIDIA CUDA: YES (ver 11.4, CUFFT CUBLAS FAST_MATH)OpenCV version: 4.9.0 CUDA TrueYOLO 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.33Torch version: 2.4.1+l4t35.6Torchvision version: 0.16.1+fdea156
DeepStream SDK version: 1.1.8
4.2 支持pytorch版本
目前,支持4個pytorch版本:
- Release pytorch-v2.4.1+l4t35.6-cp38-cp38-aarch64
- Release pytorch-v2.3.1+l4t35.6-cp38-cp38-aarch64
- Release pytorch_v2.2.2+l4t35.6-cp38-cp38-aarch64
- Release pytorch_v2.1.2+l4t35.6-cp38-cp38-aarch64
4.3 opencv-python>=4.6.0問題
實際筆者環境是OpenCV4.9.0,但是還是報錯;而使用python代碼沒有問題。
$ 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: torchAttempting uninstall: torchFound existing installation: torch 2.1.0a0+41361538.nv23.6Uninstalling torch-2.1.0a0+41361538.nv23.6:Successfully uninstalled torch-2.1.0a0+41361538.nv23.6
Successfully installed torch-2.4.1+l4t35.6