/AI-research-tools

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

MIT LicenseMIT

AI-research-tools

MIT license

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

目录

趋势关注

RSS 阅读器

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

论文查找

搜索引擎

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

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

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

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 以供比较。

  • rasbt/deeplearning-models:使用 TensorFlow 和 PyTorch 实现各种深度学习模型的合集。

论文阅读

查阅下载

文献管理

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

文献翻译

笔记工具

我个人习惯使用印象笔记

编码实验

Pytorch 相关

功能配置封装

项目参考

项目管理

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

风格指南

项目模板

神经网络分析器

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

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

  • Swall0w/torchstat:PyTorch 专用的轻量级神经网络分析器,可以展示网络的参数,空间大小,MAdd,FLOPs 等指标。【支持的层种类过少,只包含卷积网络中常用的那些层】【有一个 bug 需要修改

  • Tramac/torchscope:同样是 PyTorch 专用的神经网络分析器,看起来展示时比上面的 torchstat 更加清晰。【对 Linear 层报错,貌似是 torchstat 带来的 bug】【同样不支持 RNN 相关层】【感觉有时间自己可以 fork 然后修改一下】

可视化

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

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

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

实验记录

数据集查找

特征工程

超参搜索

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

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

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

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

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

Debug 工具

论文写作

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 插件

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

图片转换

会议投递

会议查找筛选

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

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

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

  • Call4Papers - CCF推荐列表:按照 CCF 类别展示各会议和期刊的截稿时间。

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

匿名链接

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

代码开源

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

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

其他

专利检索

专注工作

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