2021 年 Python 十佳 ML 库大盘点:国产选手 GitHub 半年获 5k+star,第一名是升级版 NumPy

2021-12-27 21:27量子位 - 函擎

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

广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。

文章价值:
人打分
有价值还可以无价值
置顶评论
    热门评论
      文章发布时间太久,仅显示热门评论
      全部评论
      请登录后查看评论
        取消发送
        软媒旗下人气应用

        如点击保存海报无效,请长按图片进行保存分享