公众号关注 “视学算法”
设为 “星标”,消息即可送达!
即使是最具创意性的机器学习研究者,也不得不面对枯燥无味的论文和项目文档写作。这项工作还怠慢不得,因为一旦少了重要的部分,很有可能对研究造成影响。这里整理了一些高赞开源项目 Readme、Gitignore 文档和论文的 LateX 模板。即使是初次研究的人也可以迅速上手。
从搞研究到做项目,模板都是提高生产力的好工具。因为开发者比较注重效率(因为懒),很多细枝末节而又略微繁琐的工作,都会在 GitHub 上放出模板。比如说 Git 用的 gitignore 文件,模板放到 GitHub 上竟然能有 9.6 万的 Star 量,这些小而好用的模板项目,确实能省不少事。
gitignore 模板做项目
不论是做研究,还是平常写一些小项目,Git 总是必不可少的。若不用 Git 追踪所有代码修改痕迹,总感觉改代码、测试代码会比较心虚。一般使用 Git,又少不了 将代码托管到 GitHub,尤其目前 GitHub 已经支持免费的私有项目。
然而做项目时,每次查看修改了哪些文件时,总会有一些奇奇怪怪的临时文件,编译器缓存、系统缓存等等,此外数据集太大一般也不会传到 GitHub。为了看着舒服,大概率你会写一个 . gitignore 文件,将需要 Git 忽略的所有文件、所有类型的文件都忽略掉。
比如说,早几天清华大学开源的深度学习框架「计图」,它的 .gitignore 文件是这样的:
可以想到,清华的研究者肯定是在构建项目的过程中,一条条把不希望添加到 GitHub 的文件排除在外。虽然要排除的文件每个项目都不一样,但是有一些肯定都是共通的,例如 __pycache__ 等。这里我们介绍一个 GitHub 官方 gitignore 模板,它目前拥有高达 9W+的 Star 量。
这一系列模板非常好用,如果我们用 Python 做项目,直接下载对应的.gitignore 文件就行了。这个文件内部大概是这样的:
它会从不同的角度展示 Python 项目到底哪些文件是应该排除在外,不能上传到代码库。总文件有 143 行,我们直接下载用就行,只要再加上几行描述自己项目的语句,.gitignore 就完美了。
项目做完了,README 也不可少,是的,它也有模板。
README 模板
而 README 方面更是家常便饭,首先肯定的是 Readme 的本质,让读者能够以最快速度去了解如何安装或是使用项目。以前为了写一份 README 还要先去找一个成熟项目作为参照,比如耳熟能详的由RichardLitt 发起的「Standard Readme」,简单直白的告诉应该写哪些内容,应该如何排版等。
但此次向读者们介绍的是专门针对于 Machine Learning 论文且附代码的 README 书写标准及模板,让你不必在 README 的结构,排版上花更多时间。
README模板:https://github.com/paperswithcode/releasing-research-code/blob/master/templates/README.md
话不多说,来看参考图:
第一部分肯定是论文的标题,以及包括了可选择一些图表来简单说明所使用的方法、主要结构或者是 bibtex 类型等。接着要简要说明安装要求,比如如何设置环境,如何使用 pip / conda / docker 命令,如何下载数据集等。
而接下来要针对训练来介绍。描述如何训练模型,并在论文中用示例命令去说明该如何训练模型,包括完整的训练过程以及适当的超参数等。
「Evaluation」此一项要介绍如何根据论文中的基准去评估训练后的模型。而之后针对预训练模型,要提供有效链接,如何下载预训练模型,以及简要介绍他们是如何被训练的。而最后,则是输出结果,结果对比以及排行榜等。
其实,从逻辑上看并不难,README 大部分操作是较为麻烦且花时间的,如果有了此模板,很多固定的格式就可以直接套用,省去了不少时间。
LaTeX 模板写论文
如果实验做完了,README 也写好了,发现了惊人的效果,现在该投论文了。不同的大会都有一些格式上的要求,有时候他们也会在 GitHub 上发布 LaTex 论文模板。作为最后一步,本文推荐清华大学的毕业论文模板,它包含了完整的 LaTeX 文件,下载下来并修改内容后,一键就能生成标准的 PDF。
该学位论文 LaTeX 模板,包括本科综合论文训练、硕士论文、博士论文以及博士后出站报告。
项目地址:https://github.com/xueruini/thuthesis
有了这些项目,枯燥无味的文书工作都可以变得更有效率,还不会出错。