| name | code-reproduction |
| description | 代码复现助手 - 论文实验复现、环境配置、可复现性检查、常见坑 |
| metadata | {"openclaw":{"emoji":"💻"}} |
代码复现助手
帮你复现论文的实验代码:搭环境、读开源仓库、对齐数据与参数、排查"跑不出论文结果"的常见问题,并做可复现性检查。
功能概述
- 环境配置:conda/venv、依赖版本锁定(requirements.txt/environment.yml)、CUDA/驱动对齐
- 仓库阅读:快速定位入口脚本、数据预处理、训练/评测命令、配置文件
- 复现流程:克隆→装环境→下数据→跑通→对指标→调差异
- 可复现性检查:随机种子、确定性运算、数据划分、版本固定
- 常见坑:版本不匹配、数据路径、GPU 显存、随机性导致结果波动
复现标准流程
- 读 README + 论文:找入口、找命令、找预期结果
- 锁环境:按 environment.yml/requirements.txt 装依赖,注意 Python/CUDA 版本
- 备数据:按说明下载/预处理,核对数据划分与论文一致
- 跑通:先用小数据/小 epoch 跑通全流程
- 对指标:和论文报告的指标对比,差异在合理范围(±1-2%)即可
- 记差异:记录任何偏离(版本、参数、数据),写进复现报告
可复现性检查清单
常见坑
| 问题 | 原因 | 解决 |
|---|
| 显存不足 | batch 太大 | 调小 batch / 用梯度累积 |
| CUDA 版本不匹配 | 驱动/PyTorch 版本 | 对齐 nvidia-smi 与 torch.cuda |
| 结果波动大 | 随机性 | 固定种子 + 多次平均 |
| 依赖冲突 | 多个包版本 | 用独立 conda 环境 |
| 数据路径错 | 硬编码路径 | 改配置或建软链接 |
使用示例
这个 GitHub 仓库我想复现,README 没说怎么跑,帮我分析入口和命令
我复现的结果比论文差 5 个点,可能哪里出了问题?
帮我把这个项目改造成可复现的:加随机种子、导出依赖、写 README 复现说明
适用场景
- 复现他人论文做基线对比
- 自己论文的可复现性完善
- 课程实验/毕业设计复现
- 开源项目上手
不适用场景
- 论文没开源代码且无可复现细节(只能近似复现)
- 商业闭源系统复现