1. 源由

onnxruntime 受到TensorRT版本的限制,在8.x TensorRT阶段支持的并不太好,尤其由于接口的变化,兼容性并不理想。

从 Jetson Orin Nano Super 开始,也就是Jetpack 6.2之后,TensorRT据反馈说是能够升级,从前面的软件版本和API设计/维护看,非常吃力!!!

2. 步骤

步骤一:安装3.26 cmake

$ sudo apt remove --purge cmake
$ wget https://github.com/Kitware/CMake/releases/download/v3.26.4/cmake-3.26.4-linux-aarch64.sh
$ sudo mkdir -p /opt/cmake
$ sudo sh cmake-3.26.4-linux-aarch64.sh --prefix=/opt/cmake --skip-license
$ echo 'export PATH=/opt/cmake/bin:$PATH' >> ~/.bashrc
$ source ~/.bashrc

确认版本安装成功:

$ cmake --version

步骤二:下载代码

$ git clone https://github.com/SnapDragonfly/onnxruntime.git
$ cd onnxruntime
$ git checkout nvidia_v1.19.2

步骤三:编译代码

$ export PATH="/usr/local/cuda/bin:${PATH}"
$ export CUDACXX="/usr/local/cuda/bin/nvcc"

$ ./build.sh --config Release --update --build --parallel --build_wheel \
    --use_tensorrt --cuda_home /usr/local/cuda --cudnn_home /usr/lib/aarch64-linux-gnu \
    --tensorrt_home /usr/lib/aarch64-linux-gnu

步骤四:找到安装包

或者进入到该目录下进行安装。

$ ls build/Linux/Release/dist/
build/Linux/Release/dist/onnxruntime_gpu-1.19.2-cp310-cp310-linux_aarch64.whl

步骤五:安装whl包

$ cd build/Linux/Release/dist/
$ python3 -m pip install --no-cache onnxruntime_gpu-1.19.2-cp310-cp310-linux_aarch64.whl

3. 注意

编译过程需要注意onnxruntime和TensorRT的API兼容性问题。

4. 参考资料

【1】Jetson Orin Nano Super之pytorch + torchvision安装
【2】Jetson Orin Nano Super之jetson-fpv开源代码下载
【3】Ardupilot开源无人机之Geek SDK进展2024-2025

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐