| name | autoflow-run |
| description | 基于 autoflow-setup 生成的配置自动执行 ML/DL 项目流程。读取 .autoflow/ 配置目录,执行训练、推理、评估、预处理等任务,支持错误自动修复和参数调优。触发场景:(1) 用户说"运行自动化流程"或"执行训练/推理";(2) 项目已有 .autoflow/ 配置目录;(3) 需要自动化执行和优化 ML/DL 任务。 |
Autoflow Run
基于 autoflow-setup 生成的 .autoflow/ 配置,自动执行 ML/DL 项目的各种流程。
前置条件
项目根目录必须存在 .autoflow/ 配置目录(由 autoflow-setup 生成)。
如果不存在,提示用户先运行 autoflow-setup。
工作流程
Phase 1: 加载配置
读取 .autoflow/ 目录下的所有配置文件:
project.yaml - 项目信息
env.yaml - 环境配置
paths.yaml - 路径配置
commands.yaml - 运行命令
hardware.yaml - 硬件要求
misc.yaml - 其他配置
Phase 2: 确认任务
与用户确认要执行的任务:
| 任务类型 | 说明 |
|---|
| preprocess | 数据预处理 |
| train | 模型训练 |
| evaluate | 模型评估 |
| inference | 模型推理 |
| custom | 自定义命令 |
Phase 3: 环境准备
- 激活配置中指定的环境
- 验证关键依赖可用
- 检查路径是否存在(数据集、模型等)
- 检查硬件要求(GPU 可用性等)
Phase 4: 执行任务
根据用户选择执行相应命令:
1. 显示即将执行的命令
2. 用户确认后执行
3. 实时显示输出
4. 捕获错误和警告
Phase 5: 错误处理与优化
自动错误处理:
| 错误类型 | 自动处理策略 |
|---|
| CUDA out of memory | 建议减小 batch_size,提供修改命令 |
| Module not found | 自动安装缺失依赖 |
| File not found | 检查路径配置,提示用户确认 |
| Permission denied | 提示权限问题,建议解决方案 |
参数调优建议:
根据执行结果提供优化建议:
- 训练速度慢 → 建议启用混合精度、调整 num_workers
- 显存不足 → 建议梯度累积、减小模型规模
- 过拟合 → 建议增加正则化、数据增强
Phase 6: 结果记录
执行完成后更新 .autoflow/ 配置:
- 记录执行时间和结果
- 更新
misc.yaml 中的 troubleshooting(如有新问题)
- 保存成功的参数配置
支持的操作
1. 单任务执行
用户: "运行训练"
→ 读取 commands.yaml 中的 train 命令
→ 激活环境并执行
2. 流水线执行
用户: "运行完整流程"
→ 按顺序执行: preprocess → train → evaluate
→ 每步完成后确认是否继续
3. 参数覆盖
用户: "用 batch_size=16 运行训练"
→ 在原命令基础上覆盖参数
→ 记录本次使用的参数
4. 断点续训
用户: "从 checkpoint 继续训练"
→ 检查 paths.yaml 中的 checkpoint_dir
→ 找到最新 checkpoint 并恢复
执行步骤
-
检查配置存在
检查 .autoflow/ 目录是否存在
不存在则提示运行 autoflow-setup
-
读取所有配置
使用 Read 工具读取所有 yaml 文件
解析并验证配置完整性
-
确认执行任务
使用 AskUserQuestion 确认:
- 要执行的任务类型
- 是否需要覆盖参数
- 是否需要特殊处理
-
准备执行环境
激活 Python 环境
验证依赖和路径
检查硬件可用性
-
执行命令
使用 Bash 工具执行命令
实时监控输出
捕获错误信息
-
处理结果
成功: 显示结果摘要,更新配置
失败: 分析错误,提供解决方案
注意事项
- 执行前始终显示完整命令让用户确认
- 长时间运行的任务使用后台执行(run_in_background)
- 保留执行日志供后续分析
- 敏感操作(如删除文件)需要额外确认