2、环境准备:安装Python、DVC、MLflow,配置Git仓库,初始化项目结构
说实话,模型版本管理这件事,很多人一开始都栽在环境配置上。
我见过不少团队,工具装了一堆,结果版本没管好,环境先乱成一锅粥。所以这一章,咱们把地基打牢。
2.1 安装Python:选对版本,省一半心
Python版本这事,我踩过坑。以前图新鲜装了Python 3.12,结果好几个库不兼容,折腾了一下午。
我个人建议:用Python 3.9或3.10。稳,而且DVC和MLflow都支持得很好。
推荐版本:Python 3.9.13 或 3.10.11
安装步骤很简单:
- 去
python.org下载对应版本 - 安装时记得勾选「Add Python to PATH」
- 打开终端,验证一下:
python --version
# 输出:Python 3.9.13
小技巧:我习惯用 pyenv 管理多个Python版本。万一项目需要不同版本,切换起来很方便。
2.2 安装DVC:数据版本控制的核心
DVC 是什么?说白了,它就是给数据文件做的Git。你想想看,代码能用Git管,模型文件、数据集为什么不行?
安装命令就一行:
pip install dvc
验证安装:
dvc --version
# 输出:3.x.x
注意:我曾经遇到过DVC和Git版本不匹配的问题。建议Git版本在2.25以上。否则DVC的某些功能会报错。
2.3 安装MLflow:实验追踪与模型注册
MLflow 这东西,我一开始觉得「不就是个日志工具吗?」后来真香了。它能记录每次实验的参数、指标、模型文件,还能对比不同版本的效果。
安装:
pip install mlflow
验证:
mlflow --version
# 输出:2.x.x
我的习惯:MLflow 默认用SQLite存数据,小项目够用。团队协作的话,建议换成PostgreSQL或MySQL。
2.4 配置Git仓库:版本管理的起点
Git 是这一切的基础。没有Git,DVC和MLflow就像没有地基的房子。
初始化仓库:
git init model_version_demo
cd model_version_demo
配置用户信息(第一次用Git的话):
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"
重要:记得创建 .gitignore 文件。把数据集、模型文件、临时文件都忽略掉。DVC会单独管理它们。
一个典型的 .gitignore 内容:
# 数据文件
data/
*.csv
*.pkl
# 模型文件
models/
*.h5
*.pt
# 临时文件
__pycache__/
*.pyc
.DS_Store
2.5 初始化项目结构:让一切井井有条
项目结构这事,我见过太多「一团乱麻」的案例。模型文件、代码、数据混在一起,找起来头疼。
我推荐的结构:
model_version_demo/
├── data/ # 原始数据
├── models/ # 训练好的模型
├── notebooks/ # 实验笔记
├── src/ # 源代码
│ ├── train.py
│ ├── evaluate.py
│ └── utils.py
├── configs/ # 配置文件
│ └── params.yaml
├── .gitignore
├── README.md
└── requirements.txt
创建目录:
mkdir data models notebooks src configs
初始化DVC:
dvc init
这会生成一个 .dvc/ 目录,DVC用它来跟踪数据文件的变化。
避坑指南:我曾经在 dvc init 之后忘了提交到Git。结果同事拉代码时,DVC配置全丢了。记住:dvc init 后立刻 git add .dvc/ 并提交。
2.6 核心逻辑:一张图看懂
下面这张图,是我自己总结的。环境准备阶段,各个工具之间的关系一目了然。
2.7 验证环境:确保一切就绪
最后一步,跑个简单的测试。确保所有工具都能正常工作。
# 检查 Python
python -c "import sys; print(sys.version)"
# 检查 DVC
dvc --version
# 检查 MLflow
mlflow --version
# 检查 Git
git --version
如果都输出了版本号,恭喜你,环境准备好了。
我的经验:把上面这些命令写到一个 check_env.sh 脚本里。每次换机器或新同事加入,跑一遍就行。省事。
嗯,到这里,环境准备就告一段落了。工具都装好了,项目结构也搭起来了。接下来,就可以正式开始玩模型版本管理了。