九个值得关注的开源 AI 框架项目

人工智能
除了一些出名的框架之外,还有一些在开源世界中不是那么热门,但却非常好用的AI工具或框架项目值得关注。

像TensorFlow和PyTorch这样知名的框架推动着人工智能的蓬勃发展,但除了这些出名的框架之外,还有一些在开源世界中不是那么热门,但却非常好用的AI工具或框架项目值得关注,它们在NLP、机器视觉等方面也有独特的先进性和创新性,可以为AI应用提供独特的解决方案。

1.Hugging Face Transformers

https://github.com/huggingface/transformers

Star:132K

Transformers是许多大名鼎鼎的大语言预训练模型的算法,因此这个全面的自然语言处理(NLP)库值得更多关注。Hugging Face Transformers库是一个面向Pytorch、TensorFlow和JAX的先进机器学习库。为各种NLP任务提供了大量的预训练模型,包括:文字生成、摘要、翻译、情感分析等等。

下面是一个使用Transformers 管道进行文本正面、负面分类的例子:

>>> from transformers import pipeline

# Allocate a pipeline for sentiment-analysis

>>> classifier = pipeline('sentiment-analysis')

>>> classifier('We are very happy to introduce pipeline to the transformers repository.')

[{'label': 'POSITIVE', 'score': 0.9996980428695679}]

下面是一个实现图像对象检测的例子:

>>> import requests
>>> from PIL import Image
>>> from transformers import pipeline

# Download an image with cute cats
>>> url = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/coco_sample.png"
>>> image_data = requests.get(url, stream=True).raw
>>> image = Image.open(image_data)

# Allocate a pipeline for object detection
>>> object_detector = pipeline('object-detection')
>>> object_detector(image)
[{'score': 0.9982201457023621,
  'label': 'remote',
  'box': {'xmin': 40, 'ymin': 70, 'xmax': 175, 'ymax': 117}},
 {'score': 0.9960021376609802,
  'label': 'remote',
  'box': {'xmin': 333, 'ymin': 72, 'xmax': 368, 'ymax': 187}},
 {'score': 0.9954745173454285,
  'label': 'couch',
  'box': {'xmin': 0, 'ymin': 1, 'xmax': 639, 'ymax': 473}},
 {'score': 0.9988006353378296,
  'label': 'cat',
  'box': {'xmin': 13, 'ymin': 52, 'xmax': 314, 'ymax': 470}},
 {'score': 0.9986783862113953,
  'label': 'cat',
  'box': {'xmin': 345, 'ymin': 23, 'xmax': 640, 'ymax': 368}}]

除了pipeline,要在给定任务中下载和使用任何预训练模型,只需三行代码。以下是PyTorch版本:

>>> from transformers import AutoTokenizer, AutoModel

>>> tokenizer = AutoTokenizer.from_pretrained("google-bert/bert-base-uncased")
>>> model = AutoModel.from_pretrained("google-bert/bert-base-uncased")

>>> inputs = tokenizer("Hello world!", return_tensors="pt")
>>> outputs = model(**inputs)

2.Fastai

https://github.com/fastai/fastai

Star:26K

Fastai是一个深度学习库,它为AI 从业者提供了许多高级组件,可以快速、轻松地在标准深度学习领域实现最先进的效果,并为研究人员提供了用以构建新方法的低级组件。它的目标是做到以上这两点,并且不会在易用性、灵活性或性能方面做出实质性的妥协。这要归功于一个精心分层的架构,它以解耦、抽象的形式实现了许多深度学习和数据处理技术的共同基础模式。通过利用底层Python语言的动态性和PyTorch库的灵活性,可以简洁明了地实现这些抽象。

fastai的特性包括:

  • 一个新的Python张量语义类型层次结构,实现分类系统。
  • 可以在纯Python中开发的GPU优化的计算机视觉库。
  • 只需要使用4、5行代码就可以将现代优化器的常见功能重构为两个基本部分,以实现优化器。
  • 一个新颖的双向回调系统,可以访问数据、模型或优化器的任何部分,并在训练期间的任何时候对其进行更改。
  • 新的数据块API。

fastai主要围绕两个设计目标进行开发:平易近人和快速生产。同时也是深度可扩展和可配置的。它构建在较低级别API的层次结构之上,这些API提供可组合的构建块。这样,也能够轻易重写高级API的一部分或添加特定行为。

3.Detectron2

https://github.com/facebookresearch/detectron2

Star:30K

Detectron2由Facebook AI Research(FAIR)开发,是用于对象检测和对象分割的框架。它高度灵活,包含了许多尖端模型的实现,使其成为视觉相关项目的首选资源。

4.DeepSpeech

https://github.com/mozilla/DeepSpeech

Star:25.1K

DeepSpeech是一个由Mozilla开发的基于深度学习的开源语言识别引擎。这个引擎对于涉及语音识别和转录的项目特别有价值,可以作为私有化解决方案的一种方案。可以在从Raspberry Pi4等离线设备或者高功率GPU服务器上高效运行。

5.Jina

https://github.com/jina-ai/jina

Star:20.9K

Jina是一个开源神经搜索框架,使用云原生技术构建多模态AI应用程序,非常适合构建可以理解各种形式(包括文本、图像和视频)数据的搜索系统。具备优秀的模块化和可扩展性设计,使其成为现代搜索应用程序的强大工具。

Jina支持构建基于gRPC、HTTP和WebSockets通信协议的多模式AI服务,并将其扩展并部署到生产环境。让算法人员可以专注于逻辑和算法,而不必担心基础架构的复杂性。

相关的开发教程可以查看开源网站:

6.Haystack

https://github.com/deepset-ai/haystack

Star:16.7K

Haystack是一个端到端的LLM框架,用于构建由LLM、Transformer模型、向量搜索等。无论要执行检索增强生成(RAG)、文档搜索、问答还是答案生成,Haystack都可以将最先进的嵌入模型和LLM编排到管道中,以构建端到端NLP应用程序。

下面是使用deepset Studio以YAML或Python代码的形式可视化地创建和导出Haystack管道架构的界面。

7.AllenNLP

https://github.com/allenai/allennlp

Star:11.7K

Allennlp这个库由艾伦人工智能研究所开发维护,Allennlp基于PyTorch构建,主要简化了构建和评估复杂NLP模型的过程,使其成为研究人员和开发人员的宝贵资源。

8.Catalyst

https://github.com/catalyst-team/catalyst

Star:3.3K

Catalyst是用于深度学习研究和开发的PyTorch框架。它专注于可重复性、快速实验和代码库重用。提供模型训练管道,回调等功能,以简化开发过程。

9.OpenCV AI Kit (OAK)

https://github.com/opencv-ai

OAK是一个专为计算机视觉任务设计的开源项目集。该项目包括针对边缘设备的工具和模型,使其成为实时应用的理想选择。其灵活性和易用性使其成为计算机视觉爱好者的必关注产品。

责任编辑:赵宁宁 来源: andflow
相关推荐

2020-04-22 08:40:04

开源云原生容器

2010-08-06 08:56:43

开源项目Android开发

2019-12-06 13:58:42

GitHubCSS开源

2020-01-02 10:06:03

JavaGitHubElasticSear

2010-10-28 11:22:45

开源项目

2010-06-20 00:38:50

2024-02-01 00:21:41

Rust编程框架

2017-01-05 09:13:23

开源项目

2019-11-14 15:56:18

开源技术 软件

2022-06-28 08:47:27

医疗AI人工智能

2020-04-22 15:46:34

SD-WAN网络广域软件定义网络

2022-03-10 09:28:24

Kubernete云原生

2013-04-11 10:00:44

云计算项目开源Puppet

2022-06-24 15:10:23

人工智能深度学习大数据

2018-11-07 10:45:12

2017-02-17 11:16:11

JavaScriptMV*框架

2023-02-08 09:02:10

PNPM管理器优化

2021-05-17 10:20:35

SREDevOps开源

2024-07-12 05:00:00

2022-01-05 11:21:19

开源工具操作系统
点赞
收藏

51CTO技术栈公众号