模型库与部署
训练完成的模型统一存储在模型库中,可以在此管理模型版本、导出为 ONNX 格式、部署到 Vision Studio 运行时,以及在生产环境中进行模型更新与回滚。
模型库界面
模型库位于 AI Studio 的"模型"标签页,以卡片网格形式展示所有已训练的模型:
┌─────────────────────────────────────────────────────────────┐
│ 模型库 [搜索...] [筛选 ▼] │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ gear_defect │ │ gear_defect │ │ nut_detector │ │
│ │ yolov8s_v3 │ │ yolov8n_v2 │ │ yolov8m_v1 │ │
│ │ │ │ │ │ │ │
│ │ mAP: 0.928 │ │ mAP: 0.887 │ │ mAP: 0.956 │ │
│ │ 2026-07-22 │ │ 2026-07-15 │ │ 2026-06-30 │ │
│ │ [部署] [导出]│ │ [部署] [导出]│ │ [部署] [导出]│ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
│ │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ bracket_pos │ │ weld_defect │ │
│ │ resnet50_v1 │ │ yolov8s_v4 │ │
│ │ │ │ │ │
│ │ Acc: 0.989 │ │ mAP: 0.904 │ │
│ │ 2026-06-15 │ │ 2026-07-25 │ │
│ │ [部署] [导出]│ │ [部署] [导出]│ │
│ └──────────────┘ └──────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
每个模型卡片显示关键信息:模型名称、架构版本、核心指标、训练日期。
模型版本管理
同一个项目经过多次迭代,可能产生多个版本。AI Studio 将同一项目的模型组织为版本树:
模型: gear_defect
├─ v3 (当前) — YOLOv8s, mAP 0.928, 2026-07-22
│ ├─ 部署到: 产线 A (当前活跃)
│ └─ 部署到: 测试机
├─ v2 — YOLOv8s, mAP 0.887, 2026-07-15
│ └─ 部署到: 产线 B
└─ v1 — YOLOv8n, mAP 0.842, 2026-07-01
版本操作
| 操作 | 说明 |
|---|---|
| 设为当前版本 | 标记为主版本,IDE 中的默认引用 |
| 重命名 | 修改版本标签(如"产线A_验收版") |
| 部署 | 将模型部署到指定运行时 |
| 导出 | 导出为 ONNX 格式 |
| 对比 | 与其他版本进行指标对比 |
| 删除 | 删除模型版本(不可恢复,需二次确认) |
导出 ONNX 模型
ONNX(Open Neural Network Exchange)是开放的神经网络交换格式,是 Darra Vision Studio 运行时的标准模型格式。
导出操作
在模型卡片或版本详情中点击"导出",弹出导出配置:
┌─────────────────────────────────────────────────────────────┐
│ 导出 ONNX 模型 │
├─────────────────────────────────────────────────────────────┤
│ 模型: gear_defect_yolov8s_v3 │
│ │
│ 导出配置: │
│ 输入尺寸: [640 × 640] (训练时的输入分辨率) │
│ 精度: ● FP32 (标准精度) │
│ ○ FP16 (半精度, 体积减半, 轻微精度损失) │
│ ○ INT8 (量化, 体积 1/4, 适合边缘设备) │
│ 简化: ☑ 模型简化 (移除无用节点) │
│ 优化: ☑ 常数折叠 │
│ │
│ 导出路径: [C:\DarraModels\exports\gear_defect.onnx] │
│ │
│ [取消] [导出] │
└─────────────────────────────────────────────────────────────┘
导出文件
导出后生成以下文件:
| 文件 | 说明 |
|---|---|
gear_defect.onnx | ONNX 模型文件,供推理引擎加载 |
gear_defect_labels.txt | 类别标签文件,每行一个类别名 |
gear_defect_metadata.json | 元信息文件,含输入输出张量信息 |
验证导出
导出完成后,系统自动对导出的 ONNX 模型进行验证:
ONNX 验证结果:
✅ 模型结构验证通过
✅ 输入: images (float32[1,3,640,640])
✅ 输出: detections (float32[1,84,8400])
✅ 推理测试: 随机输入 → 正常输出 (5.2ms)
✅ ONNX Runtime 兼容性检查通过
└─ 目标运行时: darra-vision-runtime v2.1+
部署到 Vision Studio 运行时
导出的 ONNX 模型需要部署到 Vision Studio 运行时才能在生产环境中执行推理。
部署目标
AI Studio 支持以下部署目标:
| 目标 | 说明 | 适用场景 |
|---|---|---|
| 本地测试 | 部署到开发机上的 Vision Studio | 模型验证、调试 |
| 现场工控机 | 通过 DarraLink 远程部署到现场设备 | 生产环境 |
| 多目标批量部署 | 同时部署到多个现场设备 | 产线扩线 |
部署流程
点击"部署"按钮,进入部署向导:
┌─────────────────────────────────────────────────────────────┐
│ 部署模型 │
├─────────────────────────────────────────────────────────────┤
│ 模型: gear_defect_yolov8s_v3 │
│ │
│ 部署目标: ● 本地测试机 ○ 现场工控机 ○ 批量部署 │
│ │
│ 目标设备: [192.168.1.100 (产线A工控机) ▼] │
│ │
│ 部署配置: │
│ 推理模式: ● 实时 (相机触发即推理) │
│ ○ 触发 (外部信号触发推理) │
│ 输入源: [Camera_001 (Basler ace) ▼] │
│ 置信度阈值: [0.50] │
│ NMS 阈值: [0.45] │
│ 最大检测数: [100] │
│ │
│ 部署前验证: ☑ 在目标设备上运行测试推理 │
│ │
│ [取消] [部署] │
└─────────────────────────────────────────────────────────────┘
部署验证
部署完成后,系统自动执行验证:
部署验证:
✅ 模型文件已传输 (22.4 MB / 22.4 MB)
✅ 模型加载成功
✅ 测试推理: 1 张图像, 12.3ms, 检出 3 个目标
✅ 推理结果符合预期
└─ 部署状态: 活跃
模型更新与回滚
更新流程
当新版本模型训练完成并验证通过后,可以更新已部署的模型:
- 在模型库中选择新版本
- 点击"更新部署"
- 系统自动执行蓝绿切换:
- 新模型加载到副路径
- 运行测试推理验证
- 验证通过后,将推理流量切换到新模型
- 旧模型保留为回滚备选
回滚操作
如果新模型在生产环境中表现不佳,可以一键回滚:
模型: gear_defect (产线A)
当前版本: v3 (2026-07-22) ← 部署中
回滚目标: v2 (2026-07-15)
回滚确认:
回滚操作将:
1. 将推理引擎切换到 v2 版本
2. 保留 v3 文件不删除
3. 耗时约 5-10 秒(模型重新加载)
4. 回滚期间推理请求将被缓存(最多 2 秒)
[取消] [确认回滚]
回滚后,系统自动运行验证推理确认 v2 版本正常工作。
模型生命周期
┌─────────────────────────────────────────────────────────────┐
│ 模型生命周期 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 训练完成 → 验证通过 → 导出 ONNX → 部署到测试机 │
│ ↓ │
│ 测试机验证通过 → 部署到生产环境 → 在线监控 │
│ ↓ │
│ 新数据收集 → 新版本训练 → 对比验证 → 蓝绿切换 │
│ ↓ │
│ 新版本稳定 → 旧版本归档 (保留 30 天后可删除) │
│ │
└─────────────────────────────────────────────────────────────┘
版本保留策略
| 阶段 | 保留数量 | 保留期限 |
|---|---|---|
| 当前活跃 | 1 个 | 持续至下次更新 |
| 前一个版本 | 1 个 | 更新后保留 30 天(支持回滚) |
| 历史版本 | 不限 | 手动删除或按存储策略清理 |
提示
建议只将验证集 mAP@0.5 ≥ 0.90 的模型部署到生产环境。对于关键安全场景(如缺陷检测),建议设置更高的阈值(≥ 0.95)并配合人工抽检。