ROS2自动驾驶
yolo5自动驾驶
1、重要!更换U盘的操作指引
2、关闭开机自启动大程序
3、Linux基础
4、YoloV5训练集
5、自动驾驶基础调试(代码解析)
6、自动驾驶特调
7、自动驾驶原理
8、PID算法理论
9、阿克曼运动学分析理论
10、建立运动学模型
常用命令
!重要!首次使用
一、原理分析
麦克纳姆轮运动学分析
二、AI大模型
3、AI大模型类型和原理
4、RAG检索增强和模型训练样本
5、具身智能机器人系统架构
6、具身智能玩法核心源码解读
7、配置AI大模型
8、配置API-KEY
三、深度相机
2、颜色标定
10、深度相机的基础使用
11、深度相机伪彩色图像
12、深度相机测距
13、深度相机色块体积测算
14、深度相机颜色跟随
15、深度相机人脸跟随
16、深度相机KCF物体跟随
17、深度相机Mediapipe手势跟随
18、深度相机视觉循迹自动驾驶
19、深度相机边缘检测
四、多模态视觉理解
20、多模态语义理解、指令遵循
21、多模态视觉理解
22、多模态视觉理解+自动追踪
23、多模态视觉理解+视觉跟随
24、多模态视觉理解+视觉巡线
25、多模态视觉理解+深度相机距离问答
26、多模态视觉理解+SLAM导航
27、多模态视觉理解+SLAM导航+视觉巡线
28、意图揣测+多模态视觉理解+SLAM导航+视觉功能
五、雷达
8、雷达基础使用
思岚系列雷达
六、建立地图
9、Gmapping建图
cartographer快速重定位导航
RTAB-Map导航
RTAB-Map建图
slam-toolbox建图
cartographer建图
Navigation2多点导航避障
Navigation2单点导航避障
手机APP建图与导航
七、新机器人自动驾驶与调整
多模态视觉理解+SLAM导航
新机器人自动驾驶
场地摆放及注意事项
启动测试
识别调试
无人驾驶的车道保持
无人驾驶路标检测
无人驾驶红绿灯识别
无人驾驶之定点停车
无人驾驶转向决策
无人驾驶之喇叭鸣笛
无人驾驶减速慢行
无人驾驶限速行驶
无人驾驶自主泊车
无人驾驶综合应用
无人驾驶融合AI大模型应用
八、路网规划
路网规划导航简介
构建位姿地图
路网标注
路网规划结合沙盘地图案例
路径重规划
九、模型训练
1、数据采集
2、数据集标注
3、YOLOv11模型训练
4、模型格式转换
十、YOLOV11开发
多机通讯配置
汝城县职业中等专业学校知识库-信息中心朱老师编辑
-
+
首页
九、模型训练
4、模型格式转换
4、模型格式转换
## 1.模型格式简介 * 训练模型的最终目标是将其部署到实际应用中。 YOLOv 11 中的导出模式提供了多种选项,可以将训练好的模型导出为不同的格式,使其可以部署在各种平台和设备上。  ### 常见模型格式 * PyTorch(.pt):默认原生格式,包含完整模型结构和权重。 适用场景:模型训练、微调、后续格式导出的基础,不适合直接部署。 * TorchScript(.torchscript):PyTorch 模型的序列化格式,剥离 Python 依赖。 适用场景:PyTorch 生态的生产环境部署(如服务器端推理),支持 C++ 调用。 * ONNX(.onnx):开放神经网络交换格式,跨框架兼容的核心标准。 适用场景:CPU/GPU 通用部署,搭配 ONNX Runtime 可实现 3 倍 CPU 加速。 * TensorRT(.engine):NVIDIA 专属优化格式,基于 GPU 的推理引擎。 适用场景:NVIDIA GPU(如Jetson 开发板)的实时推理,可实现 5 倍 GPU 加速。 * OpenVINO(openvino_model):Intel 专属格式,优化 Intel CPU/GPU/VPU。 适用场景:Intel 硬件(如 PC、边缘计算设备)部署。 * TF Lite(.tflite):TensorFlow 轻量化格式,针对移动 / 边缘设备。 适用场景:Android 设备、嵌入式硬件(如树莓派),支持 INT8 量化压缩。 * RKNN(rknn_model):Rockchip 瑞芯微专属格式,适配其 AI 芯片。 适用场景:瑞芯微 RK 系列芯片(如开发板、智能硬件)部署。 * 不同格式模型对比 | 对比 | 通用格式(ONNX) | 加速格式(TensorRT) | 边缘格式(TF Lite) | 原生格式(.pt) | |------|----------------|----------------|----------------|---------------| | 推理速度 | 中速(CPU/GPU 通用) | 极速(GPU 专属) | 低速 - 中速(轻量化) | 低速(Python 依赖) | | 模型大小 | 中等 | 中等(支持量化压缩) | 极小(INT8 量化) | 较大 | | 硬件依赖 | 无 | NVIDIA GPU | 移动 / 嵌入式设备 | PyTorch 环境 | | 适用场景 | 通用部署、跨框架 | 实时高并发推理 | 低功耗边缘设备 | 训练 / 微调 | | 精度支持 | FP32/FP16 | FP32/FP16/INT8 | FP32/FP16/INT8 | 全精度 | ## 2. 课程内容 1.将pt模型(yolov11导出的原生格式)转化导出TensorRT格式格式模型,并对比两者推理速度差异 > ### 使用 TensorRT 导出模型有什么好处? > > 在jetson平台使用 TensorRT 导出模型可显著提高模型推理性能。导出到 TensorRT 的 YOLO11 模型可以实现高达 5 倍的 GPU 加速 > > * **速度:** 通过高级优化实现更快的推理。 > > * **兼容性:** 与 NVIDIA 硬件平稳集成。 > ## 3.转换模型 Note * orin主板才建议在主板上进行模型训练,训练源码在源码汇总的模型训练下的yolo_train文件夹,需要训练的可以自行将yolo_train文件夹程序放到主板根目录下 * **RDK主板转换模型参考《YOLOV11开发(RDKX5)》章节的《模型量化》** ### 3.1 转换模型程序 模型格式转换程序路径: /home/jetson/yolo_train/conver_model.py 可选启动参数说明: * **format**: 需要导出的模型格式,默认为engine(TensorRT格式) * **MODEL_PATH** 原始pt格式模型路径 * **data** 校准数据集,仅在需要对模型进行int8量化时需要 * **device** 运行设备编号,默认为0 * **int8** 是否使用int8量化,进一步压缩模型尺寸,默认为False ### 3.1 开始转换 cd ~/yolo_train * 这里以上节课程中训练的交通标志识别模型为例进行转换(这里--MODEL_PATH路径替换成自己命名的实际.pt模型路径): python3 conver_model.py --MODEL_PATH /home/jetson/yolo_train/yolo11n.pt * 模型转换导出完成后终端提示`Export complete`和导出的模型路径  * 这里输出目录下的best.engine就是导出的TensorRT格式的模型文件  Warning * 注意!!!在不同GPU平台因为TensorRT版本不同,转换导出的TensorRT格式不是通用的。 * 例如在jetson orin NX上转换导出的 TensorRT格式模型在jetson nano上无法使用,因为两个平台的TensorRT版本不同。 ## 4.源码解析 ### 4.1 转换模型程序 程序源码位于`/home/jetson/yolo_train/conver_model.py` 程序流程分为: * 解析参数:args = get_args() 读取命令行传入的参数,例如模型路径、导出格式等。 * 加载模型:model = YOLO(args.MODEL_PATH) 从指定路径加载 YOLO 预训练模型。 * 导出模型:根据是否启用 INT8 量化,调用不同的导出配置 ``` import argparse from ultralytics import YOLO def get_args(): ''' ''' parser = argparse.ArgumentParser() parser.add_argument('--project', default='./project', help='Project file output directory', type=str) parser.add_argument('--MODEL_PATH',default='/home/jetson/MODELS/yolov11/yolo11n.pt' ,help='原始模型权重文件路径Original model weight file path', type=str) parser.add_argument('--epochs', default=100, help='训练轮次Training rounds', type=int) parser.add_argument('--imgsz', default=640, help='图像大小Image size', type=int) parser.add_argument('--train_config', default='', help='配置文件路径Configuration file path', type=str) return parser.parse_args() if __name__ == "__main__": args = get_args() model = YOLO(args.MODEL_PATH) # 加载预训练模型 load a pretrained model results = model.train(data=args.train_config, epochs=args.epochs, imgsz=args.imgsz,project=args.project)#开始训练 start training ```
admin
2025年12月28日 18:27
22
转发
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
Word文件
PDF文档
PDF文档(打印)
分享
链接
类型
密码
更新密码
有效期
AI