/AI-research-tools

:hammer:AI 方向好用的科研工具

MIT LicenseMIT

AI-research-tools

MIT license

  • 推荐一些我喜欢的科研工具(有些限定于 AI 领域)
  • 标记【待尝试】的是我还未使用过但感觉比较有用的工具,会尽快尝试并根据体验决定是否保留
  • 请通过 issues 等方式向我推荐您觉得好用的但不在此清单上的 AI 领域科研工具,感谢

目录

趋势关注

RSS 阅读器

  • irreader 阅读器:这是我现在在使用的 RSS 阅读器。一个非常大的优点是,对于一些没有提供 RSS 订阅源的网站,irreader 可以自定义 RSS 订阅源。另外,订阅的 RSS 更新时,有弹窗提醒。还有一个我暂时用不到的功能是,irreader 同时支持订阅播客和播放有声媒体。

论文查找

搜索引擎

  • Google scholar:搜索论文的首选,可以在这里查看论文统计和引用参考文献,还能通过关注作者或者论文获得新论文更新提醒,以及利用自动化推荐来提供一个基本库。

  • Semantic scholar:可以结合外部材料整合进行论文的语义分析。功能包括:展示引用和参考文献、度量论文影响力、展示论文图表、自动生成关键词(根据标题)、分析作者、在互联网寻找额外资源(例如,相关 youtube 视频),以及推荐论文。

  • dblp: computer science bibliography:专为 CS 设计的论文查询网站,收录比较顶级并可以被检索到的论文。可以根据会议、期刊等分类查询作者的论文,想搜一个计算机会议的所有文章时好用。

  • **知网海外服务:支持全 PDF 格式下载。具体可见 海外版知网升级了!(全PDF下载),从此告别CAJ阅读器!

arXiv 相关

  • arXiv: 论文预印本收录网站。

  • arXiv-sanity:在功能上相比于 arXiv 有很大的改进,包括在浏览中显示摘要、评论和非常基本的社交、推荐、库功能。搜索也更好用。

  • Semantic Sanity: A Personalized Adaptive Feed:创建自己的个性化 arXiv 选读 Feed。创建每个 Feed 时,会让您先选择几篇论文,然后根据这几篇论文开始推荐,对于推荐结果可以点赞或者不喜欢来帮助调整推荐结果。

  • 卖萌屋Arxiv服务: 只包含 arxiv 当日更新的论文。优点在于把作者机构也展示出来。仍在改进。

  • Paper Digest – AI for tracking and summarizing papers: 提供邮件订阅前一天出的论文的列表,附有每篇论文的一句话总结。对我更重要的是这个网站也会在每个顶会论文全部公布时进行整理。

代码实现查找

  • Papers With Code:自动把论文连接到实现代码的 GitHub 资源库和数据集,并根据 GitHub 的收藏量排序。展示各任务上的 SOTA 以供比较。

论文阅读

查阅下载

文献管理

  • Mendeley:支持 web、PC、Mac 和移动手机等多个平台,可以直接注释和高亮显示 PDF,有限额的免费云存储。另外有每周邮件推荐论文。

文献翻译

笔记工具

编码实验

Pytorch 相关

功能配置封装

  • pytorch-lightning:将 PyTorch 开发中的各种通用配置(训练验证逻辑、超参搜索、分布式训练等)全部包装起来,以更高级的形式快速搭建模型。功能强大,有些复杂,正在摸索。机器之心写的简介

项目参考

项目管理

  • torchtracer:一个管理 PyTorch AI 实验项目的工具,主要用于保存各类训练数据(模型 checkpoints、超参数组合、日志、loss 变化曲线图像等)。

风格指南

项目模板

神经网络分析器

  • torchinfo:打印 PyTorch 模型信息,包含模型每层的参数量、输出张量大小等。

  • flops-counter.pytorch:计算模型总共的 FLOPs(浮点运算数,理解为计算量,可以用来衡量算法/模型的复杂度)以及每层的占比。缺点是似乎不支持 RNN 相关层,另外打印下来的信息不是很方便看。

可视化

  • PyTorch 最新版本已经带有 tensorboard。官方 tutorial

  • visdom:【待尝试】用于创建、组织和共享实时丰富数据可视化的灵活工具。

  • Convolution Visualizer:如果卷积层配置比较复杂,不方便计算输出大小时,可以利用这个可视化工具辅助。

实验记录

数据集查找

数据集下载

  • gdown:用于解决在 Google Drive 上下载大型数据集常发生的失败现象。

特征工程

超参搜索

  • optuna:自动超参数优化框架。

  • microsoft/nni:【待尝试】用于神经模型搜索和超参数调优的开源自动机器学习(AutoML)的工具包,支持绝大多数主流框架和运行环境。

  • Hyperopt:【待尝试】分布式异步超参数优化。看到知乎上有人推荐,不过根据文档来看,目前支持的优化算法只有两种,且不包括贝叶斯优化。

  • BoTorch:【待尝试】基于 PyTorch 的贝叶斯优化库。

  • automl/Auto-PyTorch:【待尝试】基于 PyTorch 的自动结构搜素和超参数搜索。

Debug 工具

  • PySnooper:【待尝试】致力让用户抛弃print函数来 debug(然而,至少目前我还是习惯用 logging 模块,和print差不了多少)。机器之心写的简介

论文写作

LaTeX 模板

包括论文、报告、海报等在内的各种 LaTeX 模板。

LaTeX 编辑器

  • 我个人习惯使用 VSCode 进行离线的 LaTeX 写作,配合 Github 私有库进行版本管理。

  • Overleaf:支持多人协作的在线 LaTeX 编辑器。但是对网络连接有一定要求。

语言表达

搭配查找

可以看一下这篇文章的推荐:有了这些网站,英文论文再也不难写了(15个英文论文写作辅助网站介绍和使用技巧) - 知乎

句式推荐

写作检查

请注意在线检测工具的泄露风险,谨慎处理关键文字。

公式编辑

  • Mathpix:通过截取复杂数学方程式的截图将其转换为 LaTeX 代码。可以处理 PDF 的印刷体和照片中的手写公式等。

  • MyScript Webdemo:Math 模块可以将手写公式转为 LaTeX 代码;同时,Diagram 模块可以将手绘的框图转化为工整的框图。

  • Detexify LaTeX handwritten symbol recognition: 忘记某些字符用 LaTeX 怎么表示时,可以在这个网站上通过手写来查询。

截屏悬浮

写论文时经常会遇到需要参考多个文献或代码的情况,同时查看多个文件并频繁切换会非常麻烦。这里是别人推荐的两个能够将截图悬浮置顶的工具,并随时调整位置和大小,方便写作时参考。

  • Snipaste:【待尝试】有 Windows 和 Mac 版,暂时没有 Linux 版。

  • Snappy:【待尝试】有 Mac 和 iPhone & iPad 版,暂时没有 Windows 版。

表格转 LaTeX

  • Excel2LaTeX:用在 Excel 上的宏工具,能够将 Excel 表格转换为 LaTeX 代码,节省很多时间。能够满足大多数效果的转换,有些效果可能需要微调。

绘制示意图

绘图工具

  • PPT 通常是我的第一选择:入手快,种类多,自由度高,支持导出矢量图。

  • Inkscape with latex equation extensions:【待尝试】

  • http://Lucidchart.com:在线画矢量图,可以导出 png、pdf,也支持各种颜色,组合和图层等。

绘图参考

PPT 插件

  • IguanaTex:帮助插入 LaTeX 公式的 PPT 插件。将输入的 LaTeX 代码转换为高质量的 png 图片来插入。

图片转换

提供各种格式的图片的转换服务的网站很多。这里只是简单列举,你也可以通过搜索引擎来找到其他类似的网站。

图片休整

  • Crop PDF files online - PDF Tools:裁剪 pdf 文件的白边。

  • 在命令行中直接将 eps 转换为 pdf:epstopdf <file.eps>;自动裁剪 pdf 的白边:pdfcrop <file.pdf>

论文投递

会议期刊查找筛选

  • ccf-deadlines:可以根据研究方向和 CCF 等级来筛选本年度已经确定截稿日期的会议。对国内的同学比较友好。

  • AI Conference Deadlines:可以根据研究方向筛选会议。但是好像需要科学上网才能看到全部信息。

  • Conference List:根据截稿时间排序,过期的会议不在首页出现。有一页可以看每个研究方向有哪些会议,但是没有办法根据研究方向筛选还没过期的会议。

  • Conference Partner (会伴):计算机最新国际会议和期刊列表。可以注册以关注会议或期刊。比较全,但目前信息更新不及时。

  • Conference-Acceptance-Rate:主要会议近年录取率统计。

匿名链接

出于论文盲审考虑,有时候文件(如源码)链接需要是匿名的。有些人会选择在 Github 上创建一个匿名用户,但为每一个会议的每一篇论文都创建一个之后再用不到的用户过于繁琐。我查到有一些工具支持匿名分享文件如下。

arXiv 提交

代码开源

为已发表的论文提供清晰、可复现的代码能够有效推动领域发展。这里推荐一些对开源代码有帮助的工具。

  • ReproducibilityChecklist-v2.0:一份机器学习复现清单,列举了你应该提供哪些文件来增强你的论文的可复现性。

  • pigar:Python 项目 requirements 文件自动生成工具。

其他

专利检索

专注工作

  • 番茄·人生:Windows PC 端待办事项软件,番茄工作法时钟。

白噪声 / 音乐