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 适合没什么经验,又想尝试的朋友。
https://github.com/jina-ai/finetuner
参考链接:
https://tryolabs.com/blog/2021/12/21/top-python-libraries-2021