AiDStudio 训练管理

定位:离线训练引擎、MLflow 实验追踪,Celery 异步执行 + GPU 资源调度。训练产物直接进入评估部署流程(ONNX / RKNN / BModel)。
功能矩阵
| 功能 | 用户操作 | 实现方式 |
|---|---|---|
| 训练配置 | 填参数 / 导入 JSON | TrainConfig CRUD,支持导出复用 |
| 启动训练 | 选配置 + 数据集 → 提交 | Celery 异步任务(gpu_tasks 队列) |
| 实时监控 | 训练页面查看进度/曲线 | WebSocket 推送 |
| 训练取消 | 点击取消 | Celery revoke |
| GPU 调度 | 自动分配 / 排队 | Scheduler + GPU 资源表 |
| 数据集快照 | 自动创建 | TrainDatasetSnapshot(可复现) |
| 超参数搜索 | 启用 Optuna | 自动多轮训练(P2) |
| 大图滑窗训练 | 启用滑窗模式 | 自动切图 + 训练(P2) |
标注训练 vs 正式训练
平台区分两种训练用途,避免"用错配置":
| 维度 | 标注训练(标注模块) | 正式训练(本模块) |
|---|---|---|
| 目的 | 辅助标注(产出预标注服务) | 最终部署模型 |
| epochs | 30–50 | 100–300+ |
| 数据增强 | 轻度 | 完整(mosaic / hsv / flip) |
| 模型规模 | n / s | n / s / m / l / x |
| 产出 | → 预标注服务(迭代闭环用) | → MLflow → ONNX → AiDBox/AiDCam |
训练配置(TrainConfig)关键字段
| 字段 | 默认值 | 说明 |
|---|---|---|
| task_type | detect | detect / segment / classify / obb(检测 / 分割 / 分类 / 旋转框) |
内置训练配方:快速检测 / 标准检测 / 标准分割 / 标准旋转框 / 标准分类,按任务类型一键选用。 | model_name | yolov8n 等 | Ultralytics 模型(yolov8n ~ yolov11x) | | epochs | 200 | 训练轮数 | | batch_size | 16 | 批大小(受 GPU 显存约束) | | imgsz | 640 | 输入尺寸 | | optimizer / lr0 / lrf | AdamW / 0.001 / 0.01 | 优化器与学习率策略 |
配置支持 JSON 导入/导出——同一套超参可在项目间复用。
实验追踪(MLflow)
-
每次训练自动记录:参数、数据集快照版本、指标曲线;
-
实验对比:跨轮次/跨配置的 mAP 与损失对比视图;
-
最优模型(best.pt)自动存入 model-store,供评估部署使用。