【Jetson】YOLOv8环境搭建与TensorRT加速部署

发布时间:2026/7/4 4:51:37
【Jetson】YOLOv8环境搭建与TensorRT加速部署 一、前言在 Jetson 平台上开发 YOLO 系列模型时使用 Conda 虚拟环境可以有效隔离依赖冲突。Miniforge 作为 Conda 的轻量级替代品对 ARM 架构aarch64兼容性更佳。本教程将完成 YOLOv8 的 GPU 加速推理并进一步实现 TensorRT 部署显著提升推理效率。二、安装和使用 MiniforgeLinux-aarch64 专用版Miniforge 是针对 ARM 架构优化的 Conda 发行版是 Jetson 平台的首选环境管理工具。1. 下载安装脚本# 下载官方最新版 Miniforge (aarch64架构)wgethttps://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-aarch64.sh若下载失败更换国内镜像源下载2. 安装脚本授权与执行# 给安装脚本添加可执行权限chmodx Miniforge3-Linux-aarch64.sh# 执行安装脚本安装过程是交互式的请按照提示操作即可bashMiniforge3-Linux-aarch64.sh3. 激活 Conda 环境安装完成后须激活配置才能使用 Conda 命令# 刷新环境变量激活Condasource~/.bashrc# 验证安装是否成功查看Conda版本能输出conda版本信息conda--version三. 创建 YOLO 虚拟环境1. 创建 YOLO 虚拟环境# 创建名为 yolo 的环境指定Python3.8conda create-nyolo_envpython3.8-y# 激活虚拟环境conda activate yolo_env# 退出conda deactivate2.检查虚拟环境 pip 可用性进入环境后先确认 pip 指向当前虚拟环境避免全局污染pip--version# 正常输出示例应该显示当前虚拟环境目录# pip 24.3.1 from /home/simopto/miniforge3/envs/yolo_env/lib/python3.8/site-packages/pip (python 3.8)3.安装 YOLO 核心依赖ultralyticsultralytics框架集成了 YOLOv5~YOLO11 所有功能添加 NVIDIA 官方源可安装 Jetson 优化的 PyTorch 依赖确保 GPU 加速生效。# 安装ultralytics优先使用NVIDIA优化源pipinstallultralytics --extra-index-url https://pypi.ngc.nvidia.com验证 PyTorch GPU 支持重要安装完成后检查 PyTorch 是否能识别 Jetson GPUpython-cimport torch; print(PyTorch Version:, torch.__version__, CUDA Available:, torch.cuda.is_available())# 预期输出# PyTorch Version: 2.0.0nv23.05 CUDA Available: True# CUDA Available: True代表 GPU 加速配置成功# 若为 False需重新检查 PyTorch 安装参考前文 PyTorch 安装教程四、YOLOv8 模型推理测试方式1官方在线测试自动下载预训练模型 官方测试图片一键推理yolo predictmodelyolov8n.ptsourcehttps://ultralytics.com/images/bus.jpg方式2本地离线测试推荐解决网络问题若网络无法下载模型/图片手动准备文件后本地推理手动下载yolov8n.pt模型文件yolo模型下载链接https://docs.ultralytics.com/zh准备一张本地测试图片命名为test.jpg执行推理命令yolo predictmodelyolov8n.ptsourcetest.jpg如果连接了摄像头可以实时检测yolo predictmodelyolov8n.ptsource0showTruesource00 代表系统的默认摄像头 /dev/video0✅ 推理成功标志终端打印检测结果自动生成结果目录runs/detect/predict目录内包含标注好检测框的结果图片推理完成五、使用tensorrt加速1YOLOv8模型导出TensorRT Engine格式通过Ultralytics官方接口将原生的.pt权重文件导出为TensorRT专属的.engine加速引擎文件创建 export_trt.py 导出脚本from ultralyticsimportYOLO# 加载原生YOLOv8n权重模型modelYOLO(yolov8n.pt)# 导出为TensorRT引擎文件model.export(formatengine,# 指定导出格式为TensorRTimgsz640,# 模型输入图像尺寸halfTrue,# 开启FP16半精度推理大幅提升速度、降低显存占用dynamicTrue,# 支持动态输入尺寸提升部署灵活性simplifyTrue# 简化ONNX计算图剔除冗余算子优化推理速度)执行模型导出将 export_trt.py 和 yolov8n.pt 放置在同一目录执行导出命令python3 export_trt.py执行完成后目录会生成两个核心文件yolov8n.onnx、yolov8n.engine其中engine文件为最终推理加速模型。2报错记录执行python3 export_trt.py是可能会出现报错ModuleNotFoundError: No module named tensorrt报错原因Jetson设备的TensorRT库为系统全局自带默认安装在系统Python环境中Conda创建的虚拟环境无法直接调用系统原生TensorRT模块因此出现模块找不到报错。解决方案迁移系统TensorRT至虚拟环境核心思路将系统Python环境中的TensorRT完整包复制到Conda虚拟环境的依赖库目录中实现环境兼容。#步骤1查看系统TensorRT路径ls/usr/lib/python3.8/dist-packages/|greptensorrt#输出结果系统自带库tensorrt tensorrt-8.5.2.2.dist-info#步骤2获取Conda虚拟环境依赖路径env_path$(python-cimport site;print(site.getsitepackages()[0]))echo$env_path#输出示例个人环境路径/home/guest/miniforge3/envs/yolo_env/lib/python3.8/site-packages#步骤3复制TensorRT库至虚拟环境#执行以下命令完整迁移TensorRT核心文件与配置文件sudocp-r/usr/lib/python3.8/dist-packages/tensorrt /home/guest/miniforge3/envs/yolo_env/lib/python3.8/site-packages/sudocp-r/usr/lib/python3.8/dist-packages/tensorrt-8.5.2.2.dist-info /home/guest/miniforge3/envs/yolo_env/lib/python3.8/site-packages/#步骤4修改文件权限规避权限报错sudochown-Rguest:guest /home/guest/miniforge3/envs/yolo_env/lib/python3.8/site-packages/tensorrt*#步骤5验证TensorRT环境有效性python-cimport tensorrt as trt; print(trt.__version__)#成功输出版本号即代表环境配置完成8.5.2.23) 模型推理性能对比测试通过电脑摄像头实时识别分别测试原生PT模型与TensorRT加速Engine模型的推理速度直观对比加速效果。TensorRT加速模型engine推理测试yolo predictmodelyolov8n.enginesource0showTrue推理性能单帧推理耗时约 9ms原生PT模型推理测试对照组yolo predictmodelyolov8n.ptsource0showTrue单帧推理耗时约 20ms实测对比原生模型单帧推理约 20msTensorRT 加速后仅需 9ms推理速度大幅提升