清单
依赖项
硬件条件及软件条件。如果你用的语言是 Python
,那么当使用 pip 和 virtualenv
时,你需要提供 requirements.txt
文件;当使用 anaconda
时,你需要提供 environment.yml
文件;当使用的是代码库时,你需要提供setup.py。
训练脚本
命令行包装器如train.py
包含超参数和trick,运行后可获得论文结果。
评估脚本
命令行包装器如eval.py
包含模型评估和实验细节
预训练模型
标准化模型界面:
- PyTorch Hub
- Tensorflow Hub
- Hugging Face NLP models
托管平台:
- Zenodo
- GitHub Releases
- Google Drive
- Dropbox
- AWS S3
结果
README 文件包含结果和能够复现这些结果的脚本。
总结
复现
这样的学习方法令人沮丧。尝试复现论文的流程大致如下:
- 一些达到新 SOTA 的论文在新闻媒体中引起关注;
- 读者深入研究或快速浏览论文内容;
- 读者对论文中的实验结果印象深刻,并产生复现的兴趣。
接下来就是疯狂搜索项目代码,并尝试在作者所用的数据集上运行代码
流程(无公开代码):
唯一目的:减少返工。
- 先精读paper,对于算法或模型的概览心中有数,对于每个子模块能够以流程图或者伪代码阐述。
- 深入算法流程(paper的流程问题未搞清楚禁止后续),包括子函数的输入输出、检查可能的逻辑漏洞。
- 选择状态好且有整块时间的时候。
- 按照算法流程来写代码,优先确定数据结构,明确定义变量。
- 每段函数完成需有注释并通过测试。
- 完成上述清单要求
常见问题
- 私有数据集或缺少预处理步骤;
- 对GPU资源的需求不切实际。
其它资源
数据下载:Academic Torrents
可视化工具:HiPlot,帮助你在使用不同参数组合时将模型结果可视化。
Reference