上周调一个YOLOv5的量化模型,改了三版训练参数,等到要部署时突然懵了——到底哪个版本的mAP最高?学习率调的是0.01还是0.001?模型文件存在哪个路径下了?这种场景搞过几次后,我彻底放弃了靠文件夹命名和Excel记录的老办法,把MLflow塞进了训练流水线。
为什么需要实验跟踪
模型训练从来不是一蹴而就。YOLO系列尤其如此,光数据增强参数就有十几项,更别说学习率策略、损失权重这些超参数。某次为了复现一个“更好”的结果,我翻遍了三个月的训练日志,最后发现所谓的提升只是随机种子不同导致的波动。没有系统化的实验管理,所谓的优化基本靠玄学。
MLflow的Tracking模块就是来解决这个痛点的。它不像TensorBoard只盯着训练曲线,而是把代码版本、参数、指标、模型文件、环境配置全绑在一起,形成完整的实验上下文。
实战配置:五分钟接入现有项目
别被文档吓到,接入MLflow比想象中简单。我在YOLOv5的train.py里加的核心代码就这几行:
importmlflow# 初始化——这里踩过坑,实验名别用中文mlflow.set_experiment("yolov5_qu