Jetson Orin Nano 實戰(二):用 TensorRT 讓 YOLOv8 推論快 4.8 倍
上一篇〈實戰(一)〉已經讓 Jetson Orin Nano 用 PyTorch GPU 跑 YOLOv8n,推論約 17 ms、畫面約 30 FPS。這篇要把模型轉成 NVIDIA 的 TensorRT engine ,再用一支專門跑 TensorRT 的 server01.py 執行。 實測結果: 推論時間從 17.4 ms 降到 3.6 ms,約快 4.8 倍 ,偵測結果幾乎一樣。 匯出 TensorRT 的過程有幾個地方很容易讓人以為「當掉了」或「裝不起來」。以下照 正確順序 寫,第一次就能成功。 前置條件 已完成〈實戰(一)〉:相機正常、 torch.cuda.is_available() 為 True 、 server.py 能夠執行。 本文環境:Jetson Orin Nano 8GB(Super)、JetPack 6.2(TensorRT 10.3.0)、Python 3.10、IMX219 相機。 先看重點:三個最容易走錯的地方 先手動裝好 ONNX 相關套件 :PyPI 上沒有 Jetson 版的 onnxruntime-gpu 。如果讓 ultralytics 在匯出時自動安裝,整批安裝會失敗,連 onnx 都沒裝上。→ 步驟 1 匯出時有好幾分鐘沒有任何輸出,這是正常的 :不要以為當掉就中斷它;另外要先開全速,並釋放記憶體。→ 步驟 2、3 確認跑的真的是 TensorRT : server.py 找不到 engine 時,會默默改用 .pt 。所以這篇用只載入 engine 的 server01.py 。→ 步驟 4 步驟 1:安裝 ONNX 相關套件(匯出前先裝) pip3 install onnx onnxslim "numpy<2" pip3 install https://github.com/ultralytics/assets/releases/download/v0.0.0/onnxruntime_gpu-1.23.0-cp310-cp310-linux_aarch64.whl onnxruntime-gpu 的 Jetson 版 wheel 取自 Ultralytics 官方 Jetson 指南 。安裝 onnx 時 numpy 可...