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: 执行任务
根据用户选择执行相应命令:
code
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. 单任务执行
code
用户: "运行训练" → 读取 commands.yaml 中的 train 命令 → 激活环境并执行
2. 流水线执行
code
用户: "运行完整流程" → 按顺序执行: preprocess → train → evaluate → 每步完成后确认是否继续
3. 参数覆盖
code
用户: "用 batch_size=16 运行训练" → 在原命令基础上覆盖参数 → 记录本次使用的参数
4. 断点续训
code
用户: "从 checkpoint 继续训练" → 检查 paths.yaml 中的 checkpoint_dir → 找到最新 checkpoint 并恢复
执行步骤
- •
检查配置存在
code检查 .autoflow/ 目录是否存在 不存在则提示运行 autoflow-setup
- •
读取所有配置
code使用 Read 工具读取所有 yaml 文件 解析并验证配置完整性
- •
确认执行任务
code使用 AskUserQuestion 确认: - 要执行的任务类型 - 是否需要覆盖参数 - 是否需要特殊处理
- •
准备执行环境
code激活 Python 环境 验证依赖和路径 检查硬件可用性
- •
执行命令
code使用 Bash 工具执行命令 实时监控输出 捕获错误信息
- •
处理结果
code成功: 显示结果摘要,更新配置 失败: 分析错误,提供解决方案
注意事项
- •执行前始终显示完整命令让用户确认
- •长时间运行的任务使用后台执行(run_in_background)
- •保留执行日志供后续分析
- •敏感操作(如删除文件)需要额外确认