展示营销类网站,wordpress 入侵,itc 做市场分析的网站,网站管家Ardupilot开源无人机之Geek SDK进展2024-2025 1. 源由2. 状态3. TODO3.1 【进行中】跟踪目标框3.2 【暂停】onnxruntime版本3.3 【完成】CUDA 11.8版本3.4 【完成】pytorch v2.5.1版本3.5 【未开始】Inference性能3.6 【未开始】特定目标集Training 4. Extra-Work4.1 【完成】C… Ardupilot开源无人机之Geek SDK进展2024-2025 1. 源由2. 状态3. TODO3.1 【进行中】跟踪目标框3.2 【暂停】onnxruntime版本3.3 【完成】CUDA 11.8版本3.4 【完成】pytorch v2.5.1版本3.5 【未开始】Inference性能3.6 【未开始】特定目标集Training 4. Extra-Work4.1 【完成】CUDA 12.3版本4.2 【暂停】TensorRT 8.64.3 【完成】Jetpack6.2(Jetson Orin Nano Super) 5. 同步工作6. 参考资料7. 问题7.1 风扇启动全速噪音问题7.2 Jetson Orin Nano Super性能升级7.3 Jetpack5 TensorRT 8.5不可升级版 1. 源由
前期搭建《Ardupilot开源无人机之Geek SDK》主要目的是
基于《ArduPilot开源飞控系统 - 无人车、船、飞机等》验证《Ardupilot OpenIPC 基于WFB-NG构架分析和数据链路思考》可行性框架打通硬实时、软实时的控制面和数据面链路,提供一个简单、多样、高效的验证平台 jetson-fpv
2. 状态 简单示例 框架成型jetson-fpv 支持特性 FPV features FPV功能 MSPOSD for ground station OSDvideo-viewer 视频图像可以达到120FPSAdaptive wireless link 链路自适应 Jetson video analysis Jetson推理功能 detectnet for object detectionsegnet for segmentationposenet for pose estimationimagenet for image recognition yolo for object detection YOLO目标检测 Real time video stabilizer DeepStream analysis DeepStream目标跟踪分析 ByteTrackNvDCF tracker 硬件形态
3. TODO
优先级
【0101暂定】3.2 onnxruntime版本 3.1 跟踪目标框 3.5 Inference性能 3.6 特定目标集Training 3.3 CUDA 11.8版本 3.4 pytorch v2.5.1版本【0109变更】3.3 CUDA 11.8版本 3.4 pytorch v2.5.1版本 3.2 onnxruntime版本 3.1 跟踪目标框 3.5 Inference性能 3.6 特定目标集Training【0117变更】目前NVIDIA主要支持L4T36.xubuntu22.04对L4T35.xubuntu20.04支持力度日渐转弱进度很慢尽管官方论坛说没有停止支持。将不连续帧跟踪目标框持续OSD输出的问题尽快提上日程。 └── 【完成】3.3 CUDA 11.8版本│ └── 【完成】4.1 CUDA 12.3版本└── 【完成】3.4 pytorch v2.5.1版本└── 【进行中】4.2 TensorRT 8.6├── 【进行中】3.2 onnxruntime版本└── 【进行中】3.1 跟踪目标框└── 3.5 Inference性能└── 3.6 特定目标集Training【0120变更】鉴于目前NVIDIA闭源虽然尚未宣布Jetpack5的EOL时间但是实际在版本支持和研发投入上已经明显出现乏力详见7.3而目前来说Super版本似乎从性能上是一个改观为此我们后续将投入BSP6.2版本顺便调整优先级废弃一些闭源升级问题带来的折腾。 ├── 【完成】3.3 CUDA 11.8版本│ │ └── 【完成】4.1 CUDA 12.3版本│ └── 【完成】3.4 pytorch v2.5.1版本│ └── 【暂停】4.2 TensorRT 8.6│ └── 【暂停】3.2 onnxruntime版本└── 【完成】4.3 Jetpack6.2(Jetson Orin Nano Super)└── 【进行中】3.1 跟踪目标框└── 3.5 Inference性能└── 3.6 特定目标集Training3.1 【进行中】跟踪目标框 DeepStream-Yolo - How to keep the bounding boxes when interval is NOT zero? #604 NVIDIA - How to keep the bounding boxes when interval is NOT zero?
3.2 【暂停】onnxruntime版本 Yolov8s no bounding box on default settings #597 NVIDIA - Build onnxruntime v1.19.2 for Jetpack 5.1.4 L4T 35.6 Faild microsoft/onnxruntime - Build onnxruntime v1.19.2 for Jetpack 5.1.4 L4T 35.6 Faild #23267 [Build] Trying to build on a embedded device that doesn’t support BFLOAT16 #19920 mlas: fix build on ARM64 #21099
通过上面的问题沟通逐步锁定源头和原因ARCH对bf16的硬件支持 vs gcc版本问题。 arm64: force -mcpu to be valid #21117
基于Jetpack5.1.4升级gcc11版本 升级CUDA版本11.4.315 到11.8.89 提升3.3 CUDA 11.8任务优先级 需要考虑OpenCV对CUDA的版本依赖问题
[Build] v1.19.2 abseil_cpp failed: 2 with JP5.1.4 gcc/g13 #23286Build onnxruntime 1.19.2 fail due to API HardwareCompatibilityLevel
3.3 【完成】CUDA 11.8版本 How to install CUDA 11.8 on Jetpack 5.1.4 L4T 35.6? Linux 35.5 JetPack v5.1.3CUDA安装和版本切换
目前了解到支持的版本状况CUDA Toolkit Archive
Ubuntu 20.04 支持到 CUDA 12.3 同时支持Ubuntu 22.04从CUDA 12.4开始仅支持Ubuntu 22.04
安装deb文件
$ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/arm64/cuda-ubuntu2004.pin
$ sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
$ wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda-tegra-repo-ubuntu2004-11-8-local_11.8.0-1_arm64.deb
$ sudo dpkg -i cuda-tegra-repo-ubuntu2004-11-8-local_11.8.0-1_arm64.deb复制CUDA密钥
$ sudo cp /var/cuda-tegra-repo-ubuntu2004-11-8-local/cuda-*-keyring.gpg /usr/share/keyrings///more specific
$ sudo cp /var/cuda-tegra-repo-ubuntu2004-11-8-local/cuda-tegra-95320BC3-keyring.gpg /usr/share/keyrings/安装cuda及其依赖组件
$ sudo apt-get update
$ sudo apt-get -y install cuda3.4 【完成】pytorch v2.5.1版本 pytorch v2.5.1 build for nvidia jetson orin nano 8GB #143624 Linux 35.6 JetPack v5.1.4之 pytorch编译Linux 35.6 JetPack v5.1.4之 pytorch升级Release pytorch-v2.5.1l4t35.6-cp38-cp38-aarch64
pytorch 2.5.1 编译
$ cat ./build.sh
#!/bin/bash# git clone https://github.com/SnapDragonfly/pytorch.git
# git checkout nvidia_v2.5.1
# git submodule update --init --recursiveexport USE_NCCL0
export USE_DISTRIBUTED0
export USE_QNNPACK0
export USE_PYTORCH_QNNPACK0
export TORCH_CUDA_ARCH_LIST8.7
export PYTORCH_BUILD_VERSION2.5.1
export PYTORCH_BUILD_NUMBER1
export L4T_BUILD_VERSION35.6
export USE_PRIORITIZED_TEXT_FOR_LD1
export USE_FLASH_ATTENTION0
export PATH/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH/usr/local/cuda/lib64:$LD_LIBRARY_PATHpython3 setup.py bdist_wheelpytorch 2.5.1 二进制安装
$ wget https://github.com/SnapDragonfly/pytorch/releases/download/v2.5.1%2Bl4t35.6-cp38-cp38-aarch64/torch-2.5.1l4t35.6-cp38-cp38-linux_aarch64.whl
$ sudo pip3 install torch-2.5.1l4t35.6-cp38-cp38-linux_aarch64.whltorchvision安装
$ git clone https://github.com/SnapDragonfly/vision.git torchvision
$ cd torchvision
$ git checkout nvidia_v0.20.1
$ export BUILD_VERSION0.20.1
$ sudo python3 setup.py install --user
$ cd ..升级JetPack5.1.4 L4T35.6后的版本信息
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.8.89- 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: 8.3.33Torch version: 2.5.1l4t35.6Torchvision version: 0.20.1a03ac97aa
DeepStream SDK version: 1.1.83.5 【未开始】Inference性能 DeepStream-Yolo - Anyway to boost yolo performance on Jetson Orin? #605 NVIDIA - Anyway to boost yolo performance on Jetson Orin?
A: DeepStream-Yolo - INT8 calibration (PTQ) B: NVIDIA - NvDCF tracker plugin
3.6 【未开始】特定目标集Training
TBD.
4. Extra-Work
4.1 【完成】CUDA 12.3版本
在CUDA 11.8基础上遇到了 Build onnxruntime 1.19.2 fail due to API HardwareCompatibilityLevel问题貌似API版本不兼容那么就升到最高支持的12.3尝试下。
$ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/sbsa/cuda-ubuntu2004.pin
$ sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
$ wget https://developer.download.nvidia.com/compute/cuda/12.3.2/local_installers/cuda-repo-ubuntu2004-12-3-local_12.3.2-545.23.08-1_arm64.deb
$ sudo dpkg -i cuda-repo-ubuntu2004-12-3-local_12.3.2-545.23.08-1_arm64.deb
$ sudo cp /var/cuda-repo-ubuntu2004-12-3-local/cuda-5B67C214-keyring.gpg /usr/share/keyrings/
$ sudo apt-get update
$ sudo apt-get -y install cuda-toolkit-12-3版本信息
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: 12.3.107- 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: 8.3.33PYCUDA version: 2024.1.2Torch version: 2.5.1l4t35.6Torchvision version: 0.20.1a03ac97aaDeepStream SDK version: 1.1.8
onnxruntime version: 1.16.3
onnxruntime-gpu version: 1.18.04.2 【暂停】TensorRT 8.6
TensorRT 8.6 GA for Ubuntu 20.04 and CUDA 12.0 and 12.1 DEB local repo PackageGuide for Upgrading TensorRTHow to translate xx/x scripts of TensorRT installation?How to upgrade tensorrt to latest version for Jetpack 5.1.4?
4.3 【完成】Jetpack6.2(Jetson Orin Nano Super)
参考Linux 36.3Jetson Orin Nano之系统安装
下载Jetpack6.2安装Linux36.4.3 - Jetson Linux Developer Guide (online version)准备安装环境
$ wget https://developer.nvidia.com/downloads/embedded/l4t/r36_release_v4.3/release/Jetson_Linux_r36.4.3_aarch64.tbz2
$ wget https://developer.nvidia.com/downloads/embedded/l4t/r36_release_v4.3/release/Tegra_Linux_Sample-Root-Filesystem_r36.4.3_aarch64.tbz2
$ tar xf Jetson_Linux_r36.4.3_aarch64.tbz2
$ sudo tar xpf Tegra_Linux_Sample-Root-Filesystem_r36.4.3_aarch64.tbz2 -C Linux_for_Tegra/rootfs/
$ cd Linux_for_Tegra/
$ sudo ./tools/l4t_flash_prerequisites.sh
$ sudo ./apply_binaries.sh调整IPV6环境
$ sudo vi /etc/sysctl.confor
$ sudo sysctl net.ipv6.conf.all.disable_ipv60
$ sudo sysctl net.ipv6.conf.default.disable_ipv60烧录固件烧录模式
$ sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 \-c tools/kernel_flash/flash_l4t_t234_nvme.xml -p -c bootloader/generic/cfg/flash_t234_qspi.xml \--showlogs --network usb0 jetson-orin-nano-devkit internal接上显示器、键盘、鼠标
启动Jetson Orin Nano按照桌面提示设置系统更新系统
$ sudo apt-get update
$ sudo apt-get upgrade5. 同步工作
Open FPV VTX开源之DIY硬件形态
6. 参考资料
【1】Ardupilot OpenIPC 基于WFB-NG构架分析和数据链路思考 【2】ArduPilot开源飞控之MAVProxy深入研读系列 - 2蜂群链路 【3】Ardupilot开源飞控之FollowMe计划 【4】Ardupilot开源飞控之FollowMe验证平台搭建 【5】Ardupilot开源无人机之Geek SDK讨论 【6】OpenIPC开源FPV之工程框架 【7】OpenIPC开源FPV之重要源码启动配置 【8】wfb-ng 开源代码之Jetson Orin安装 【9】wfb-ng 开源代码之Jetson Orin问题定位 【10】Linux 35.5 JetPack v5.1.3CUDA安装和版本切换 【11】Linux 35.6 JetPack v5.1.4yolo安装 【12】Linux 35.6 JetPack v5.1.4python opencv安装 【13】Linux 35.6 JetPack v5.1.4DeepStream安装 【14】Linux 35.6 JetPack v5.1.4之RTP实时视频Python框架 【15】Linux 35.6 JetPack v5.1.4之 pytorch编译 【16】Linux 35.6 JetPack v5.1.4之 pytorch升级 【17】OpenIPC开源FPV之Adaptive-Link工程解析 【18】NVIDIA DeepStream插件之Gst-nvtracker 【19】Linux 36.3Jetson Orin Nano之系统安装
7. 问题
7.1 风扇启动全速噪音问题
Crazy loud noise fan early before NVIDIA logo displayHow to set fan pwm io low/high in the early boot stage?
7.2 Jetson Orin Nano Super性能升级
Jetson Orin Nano Super DevKit硬件上稍有差异但是Jetson Orin Nano只要BSP升级到Jetpack6.2 就具备了67 TOPS性能
What’s the difference between Jetson Orin Nano vs Jetson Orin Nano Super?NVIDIA Jetson Orin - Next-level AI performance for next-gen robotics and edge solutions 7.3 Jetpack5 TensorRT 8.5不可升级版
鉴于目前NVIDIA反馈在Jetpack5.1.4上TensorRT仅支持到8.5版本但是从TensorRT 版本发布上看确实也能看到8.6GA版本【怀疑存在诸多未言明问题】。
虽然开源也有不少问题但是随着我们的投入逐步解决了开源系统的升级编译但是对于闭源系统确实非常无奈
Has JetPack 5 reached its end of life (EOL), or is there an EOL planned for it?How to translate xx/x scripts of TensorRT installation?