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 模型 Zoo GitHub 存储库。
- 浏览可用的模型,例如 MobileNet、ResNet、SqueezeNet、AlexNet 等。
- 直接从存储库。
这些模型已准备好与 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 中提供的生成模型包括 −
- 机器翻译:将文本从一种语言翻译成另一种语言。
- 机器理解:理解和响应自然语言查询。
- 语言建模:预测单词序列的可能性。
- 视觉问答:结合图像识别和自然语言理解。
- 对话系统:生成基于输入数据的对话响应。
图形机器学习
基于图形的模型用于以图形表示数据的机器学习任务。这些模型通常用于社交网络分析、分子生物学等应用。