ONNX - 模型 Zoo

ONNX 模型 Zoo 是 ONNX(开放神经网络交换)格式的预训练模型集合,旨在轻松使用机器学习模型,而无需从头开始训练。

无论您是处理图像分类、对象检测、自然语言处理还是其他机器学习任务,ONNX 模型 Zoo都提供了各种可使用 ONNX 运行时进行推理的模型。

在本教程中,我们将了解 ONNX 模型 Zoo及其在计算机视觉、自然语言处理 (NLP)、生成式 AI 和图形机器学习等各个领域的产品。

什么是 ONNX 模型 Zoo?

ONNX 模型 Zoo是一个预训练模型的存储库,可供下载和推理。这些模型是在大型数据集上训练的,并以 ONNX 格式提供,允许您在不同的框架和平台上使用它们,而无需担心模型转换或兼容性。

ONNX 模型 Zoo提供来自著名开源存储库(如 timm、torchvision、torch_hub 和 transformers)的最先进的模型,为开发人员和研究人员提供可直接用于 AI 应用程序中的预训练模型。

访问 ONNX 模型 Zoo

要访问 ONNX 模型 Zoo −

这些模型已准备好与 ONNX Runtime 一起使用,使您无需从头开始训练模型即可快速部署解决方案。

ONNX 模型 Zoo 的主要功能

  • 预训练模型:访问在大型数据集上预先训练的各种模型,节省时间和计算资源。
  • 互操作性:利用 PyTorch、TensorFlow 等不同框架中的 ONNX 模型,增强跨平台部署。
  • 准备进行推理:这些模型已针对使用 ONNX Runtime 进行推理进行了优化,可在跨设备和平台之间提供快速高效的性能。
  • Git LFS:ONNX 模型 Zoo 文件可以更大以处理这些文件,它使用Git LFS(大文件存储)和 Git LFS 命令行 用于下载多个 ONNX 模型。

ONNX 模型库的类别

ONNX 模型库为各种机器学习任务提供模型。以下是最常见的类别 −

  • 计算机视觉
  • 自然语言处理 (NLP)
  • 生成式 AI
  • 图形机器学习

计算机视觉

ONNX 模型库提供了一套针对计算机视觉任务修改的广泛模型,包括 −

图像分类模型

这些模型将图像分类为预定义的类别。 ONNX 模型 Zoo 提供流行的预训练模型,例如 −

  • MobileNet:用于移动和嵌入式视觉的轻量级深度神经网络。
  • ResNet:使用快捷连接进行图像分类的 CNN(最多 152 层)。
  • SqueezeNet:紧凑型 CNN 模型,参数比 AlexNet 少 50 倍。
  • VGG:具有较小过滤器的深度 CNN,提供高精度。
  • AlexNet:用于对图像中的对象进行分类的经典深度 CNN。

对象检测和图像分割

使用以下模型检测和分割图像中的对象 −

  • Tiny YOLOv2 和 YOLOv3:能够识别图像中多个对象的实时对象检测模型。
  • SSD(单阶段检测器):用于实时检测对象的快速模型。
  • Mask-RCNN:用于实例分割、检测对象并预测其掩模的网络。

身体、面部和手势分析

此类别中的模型旨在检测和分析人脸、情绪和手势 −

  • ArcFace:一种为面部图像生成嵌入的面部识别模型。
  • UltraFace:一种针对边缘设备优化的轻量级人脸检测模型。
  • Emotion FerPlus:从面部检测情绪图像。
  • 年龄和性别分类:根据图像预测年龄和性别。

图像处理

这些模型旨在通过各种转换修改图像 −

  • CycleGAN:在没有配对示例的情况下在域之间转换图像(例如,将照片变成绘画)。
  • 超分辨率:使用子像素卷积层将图像升级到更高的分辨率。
  • 快速神经风格转换:使用损失网络将艺术风格应用于图像。

自然语言处理 (NLP)

对于 NLP 任务,ONNX 模型 Zoo 提供的模型 −

  • 机器翻译:将文本从一种语言翻译成另一种语言。
  • 机器理解:理解和响应自然语言查询。
  • 语言建模:预测单词序列的可能性。

生成式 AI

ONNX 模型 Zoo 中提供的生成模型包括 −

  • 机器翻译:将文本从一种语言翻译成另一种语言。
  • 机器理解:理解和响应自然语言查询。
  • 语言建模:预测单词序列的可能性。
  • 视觉问答:结合图像识别和自然语言理解。
  • 对话系统:生成基于输入数据的对话响应。

图形机器学习

基于图形的模型用于以图形表示数据的机器学习任务。这些模型通常用于社交网络分析、分子生物学等应用。