2021 年里 AI 飞速发展,优秀算法层出不穷,令我们大开眼界。而真正要将这些算法实现,一定少不了 Python 这个主流机器学习语言的加持。
今年各大公司和研究小组都推出了一系列 方便使用的高性能开源库 ,其中还不乏一些国产的优秀作品。
在这里将盘点出最佳的 10 名,致力于帮你解决各种问题。
如果你还在为模型训练中的“杂务”头疼,那就快来看看吧。
1. Awkward Array
根据官方介绍, Awkward Array 用于嵌套的、大小不一的数据 ,包括任意长度的列表、记录、混合的类型和缺失数据,使用起来类似 NumPy。
看起来像是升级版的 NumPy 呀。
果然,不同长度的数组可以直接放在一起运算。
并且,官方表示 Awkward Array 不仅使用起来更简便,在速度和内存上也有量级的优势。
看看是不是可以安排上了~
https://pypi.org/project/awkward/
2. Jupytext
相信大家对 Jupyter Notebook 都不陌生。
当你有了 Jupytext 这个小插件就可以将 Jupyter Notebook 和 IDE 完美结合,听起来是不是很棒!
从此 Jupyter Notebook 可以被存储为 Markdown 文件或多种语言的脚本文件。
Jupytext 可以做的事主要有:
-
Jupyter Notebook 的版本控制;
-
在你喜欢的文本编辑器中编辑、合并或重构 Notebook;
-
在 Notebook 上使用 Q&A 检查。
在 Python 中使用的样子:
此项目在 Github 上已有 5k+star。
https://github.com/mwouts/jupytext
3. Gradio
比 Streamlit 还轻量的 UI 设计库,Gradio 让你轻松在 浏览器 中“玩转”你的模型,可以直接在浏览器中拖放图片,粘贴文字,录制声音,等等。
只要将 launch () 函数中的参数设置为 share=True,还能得到一个可分享的网址,拿到链接的朋友在电脑和手机端都能打开,活脱脱就是一个小程序。
时常需要做 Demo 的小伙伴快看起来吧,此项目在 Github 上已有 4.5k+star。
https://github.com/gradio-app/gradio
4. Hub
这个 Hub 在数据管理和数据预处理上可是一把好手。
它可以处理任何类型,任何大小的数据,并且因为数据储存在云端上,所以可以无缝在任何机器上访问。
被压缩为二进制字节的数据可以被存储在任何地方,并且只有在需要的时候才会被获取,所以没有 TB 级硬盘也可以处理 TB 级数据。
Hub 贴心地提供了重要 API,支持数据在常用工具(PyTorch 等)上的使用,数据版本控制,数据转换等功能。
此项目在 github 上已有 4.1k+star。
https://github.com/activeloopai/Hub
5. AugLy
AugLy 是 facebook 最新推出的数据增强库,同时支持语音,文本,图像和视频类型的数据,包含了 100 多种增强方式。
数据对于模型训练至关重要,而标注大规模数据十分困难。由于人力资源,和模型特性的限制,数据增强的应用越来越广泛。
AugLy 的优点:
处理类型更为全面。其他的数据增强库,例如 Albumentations 和 NVIDIA DALI,主要负责图像相关数据的处理,文字数据不支持。
处理方式十分人性化。AugLy 可以将一张图片做成备忘录,在图片 / 视频上叠加文字 / Emojis,转发社交媒体上的截图,还可以帮助你处理诸如拷贝检测、仇恨言论检测或版权侵权等问题。
此项目在 Github 上已有 4.1k+star。
https://github.com/facebookresearch/AugLy
6. Evidently
Evidently 是用来监测模型效果的工具,可从 Pandas DataFrame 或 csv 文件中生成交互式可视化报告和 JSON 格式的效果简介。在 Jupyter Notebook 中可以使用。
目前可以提供 6 种报告:数据漂移、数值目标漂移、分类目标漂移、回归模型性能、分类模型性能和概率分类模型性能。
此项目在 Github 上已有 1.8k+star。
https://github.com/evidentlyai/evidently
7. YOLOX
如果你熟悉 YOLO 的话,那你或许会对旷视今年推出的 YOLOX 感兴趣。
YOLO 就是那个目标检测算法,可以被使用在汽车自动驾驶等前沿技术中。
而 YOLOX 是 YOLO 的无锚版本,设计更简单,但性能更好!它的目标是在研究界和工业界之间架起一座桥梁,同时弥合两方之间的差距。
这个 Github 上的开源项目在短短半年内已获得 5.2k+star。
https://github.com/Megvii-BaseDetection/YOLOX
8. LightSeq
正如它的名字一样,LightSeq 是一款由字节跳动开发的支持 BERT、GPT、Transformer 等众多模型的超快推理引擎。
可以看到它的表现,比 FasterTransformer 还要 Fast。
LightSeq 支持的模型也是非常全面。
总之就是两个字“好用”。此项目在 Github 上已有 1.9k+star。
https://github.com/bytedance/lightseq
9. Greykite
想预测 COVID-19 的恢复速度吗?那就来看看 LinkedIn 为了自家时间序列预测需求开发的 Greykite 吧。
功能全面(多种时间趋势),界面直观,预测速度快和可扩展性强是它最大的亮点。
被应用在上面的三大算法:
-
Silverkite (Greykite’s flagship algorithm)
-
Facebook Prophet
-
Auto Arima
感兴趣的话就去研究看看吧,此项目在 Github 上已有 1.4k+star。
https://github.com/linkedin/greykite
10. Jina and Finetuner
如今,在搜索引擎等应用上,语义识别的地位越来越高,因为它可以有效避免字词匹配的局限。
不过语义识别涉及的神经网络可能会让很多人感到头大,Jina 和 Finetuner 可以帮你解决这些问题。
Jina 是一个神经搜索框架,使任何人都能在几分钟内建立可扩展的深度学习搜索应用程序。
Finetuner 配合 Jina 帮助你对神经网络进行调参,以获得神经搜索任务的最佳结果。
Jina 和 Finetuner 适合没什么经验,又想尝试的朋友。