管理机器学习实验全流程:环境搭建、数据准备、训练运行、结果分析与可视化。 当涉及 conda/venv 环境管理、训练脚本运行、实验结果对比、超参搜索、GPU 调度或模型评估时触发。
本技能覆盖机器学习实验从环境搭建到结果分析的完整生命周期。 优先保证实验可复现性、结果可追溯性和资源高效利用。
<project-name> 或 <project-name>-py<version>。environment.yml 或 requirements.txt 锁定依赖版本。conda install pytorch torchvision torchaudio pytorch-cuda=<version> -c pytorch -c nvidia,再 pip install -r requirements.txt。conda activate <env> && python -c "import torch; print(torch.cuda.is_available())" 验证 GPU 可用。torch.manual_seed(seed), np.random.seed(seed), random.seed(seed)。<model>_<dataset>_<epoch>_<metric>.pth。.log 文件。import pandas as pd
# 读取多次实验结果
results = pd.read_csv('results.csv')
# 按方法分组,计算均值±标准差
summary = results.groupby('method').agg(['mean', 'std'])
| 问题 | 排查步骤 |
|---|---|
| CUDA out of memory | 1. 减小 batch size 2. 使用 gradient accumulation 3. 使用 mixed precision (AMP) |
| 训练 loss 不下降 | 1. 检查学习率 2. 检查数据加载是否正确 3. 检查 label 编码 4. 从小数据集 overfitting 测试 |
| 结果不可复现 | 1. 固定所有随机种子 2. 设置 torch.backends.cudnn.deterministic = True 3. 检查数据 shuffle |
| 训练速度慢 | 1. 检查 DataLoader num_workers 2. 检查数据是否在 GPU 上 3. 使用 pin_memory=True |