代码及复现

清单

依赖项

硬件条件及软件条件。如果你用的语言是 Python,那么当使用 pip 和 virtualenv 时,你需要提供 requirements.txt 文件;当使用 anaconda 时,你需要提供 environment.yml 文件;当使用的是代码库时,你需要提供setup.py。

训练脚本

命令行包装器如train.py包含超参数和trick,运行后可获得论文结果。

评估脚本

命令行包装器如eval.py包含模型评估和实验细节

预训练模型

标准化模型界面:

托管平台:

  • Zenodo
  • GitHub Releases
  • Google Drive
  • Dropbox
  • AWS S3

结果

README 文件包含结果和能够复现这些结果的脚本。

总结论文代码及复现_预处理

Github上完整模板

复现

这样的学习方法令人沮丧。尝试复现论文的流程大致如下:

  • 一些达到新 SOTA 的论文在新闻媒体中引起关注;
  • 读者深入研究或快速浏览论文内容;
  • 读者对论文中的实验结果印象深刻,并产生复现的兴趣。

接下来就是疯狂搜索项目代码,并尝试在作者所用的数据集上运行代码

流程(无公开代码):

唯一目的:减少返工。

  1. 先精读paper,对于算法或模型的概览心中有数,对于每个子模块能够以流程图或者伪代码阐述。
  2. 深入算法流程(paper的流程问题未搞清楚禁止后续),包括子函数的输入输出、检查可能的逻辑漏洞。
  3. 选择状态好且有整块时间的时候。
  4. 按照算法流程来写代码,优先确定数据结构,明确定义变量。
  5. 每段函数完成需有注释并通过测试
  6. 完成上述清单要求

常见问题

  • 私有数据集或缺少预处理步骤;
  • 对GPU资源的需求不切实际。

其它资源

数据下载:Academic Torrents

可视化工具:HiPlot,帮助你在使用不同参数组合时将模型结果可视化。

Reference

机器学习论文复现,这五大问题你需要注意

代码格式