/model-zoo

The ONNX Model Zoo is a collection of pre-trained models for state of the art models in deep learning, available in the ONNX format

Primary LanguageJupyter Notebook

Open Neural Network eXchange (ONNX) Model Zoo

Generic badge Generic badge

The ONNX Model Zoo is a collection of pre-trained models for state of the art models in deep learning, available in the ONNX format. Where supported, the models are also available in the Model Server archive format. Accompanying each model are Jupyter notebooks for model training and running inference with the trained model. The notebooks are written in Python and include links to the training dataset as well as references to the original paper that describes the model architecture. The notebooks can be exported and run as python(.py) files.

What is ONNX?

The Open Neural Network eXchange (ONNX) is a open format to represent deep learning models. With ONNX, developers can move models between state-of-the-art tools and choose the combination that is best for them. ONNX is developed and supported by a community of partners.

Models

Image Classification

This collection of models take images as input, then classifies the major objects in the images into a set of predefined classes.

Model Class Reference Description
MobileNet Sandler et al. Efficient CNN model for mobile and embedded vision applications.
Top-5 error from paper - ~10%
ResNet He et al., He et al. Very deep CNN model (up to 152 layers), won the ImageNet Challenge in 2015.
Top-5 error from paper - ~6%
SqueezeNet Iandola et al. A light-weight CNN providing Alexnet level accuracy with 50X fewer parameters.
Top-5 error from paper - ~20%
VGG Simonyan et al. Deep CNN model (upto 19 layers) which won the ImageNet Challenge in 2014.
Top-5 error from paper - ~8%

Face Detection and Recognition

These models detect and/or recognize human faces in images. Some more popular models are used for detection/recognition of celebrity faces, gender, age, and emotions.

Model Class Reference Description
ArcFace Deng et al. ArcFace is a CNN based model for face recognition which learns discriminative features of faces and produces embeddings for input face images.
CNN Cascade Li et al. contribute

Object Detection & Segmentation

These models detect the presence of multiple objects in an image and segment out areas of the image where the objects are detected.

Model Class Reference Description
SSD Liu et al. Coming soon
Faster-RCNN Ren et al. contribute
Mask-RCNN He et al. contribute
YOLO v2 Redmon et al. Coming soon
YOLO v3 Redmon et al. contribute

Semantic Segmentation

Semantic segmentation models will identify multiple classes of objects in an image and provide information on the areas of the image that object was detected.

Model Class Reference Description
FCN Long et al. Coming soon

Other CNN models

Model Class Reference Description
Gender Detection Age and Gender Classification using Convolutional Neural Networks contribute
Super Resolution Image Super resolution using deep convolutional networks contribute

Generative models

Model Class Reference Description
Text to Image Generative Adversarial Text to image Synthesis contribute
Style Transfer Unpaired Image to Image Translation using Cycle consistent Adversarial Network contribute
Sound Generative models WaveNet: A Generative Model for Raw Audio contribute

NLP models

Model Class Reference Description
Speech Recognition Speech recognition with deep recurrent neural networks contribute
Text To Speech Deep voice: Real time neural text to speech contribute
Language Model Deep Neural Network Language Models contribute
Machine Translation Neural Machine Translation by jointly learning to align and translate contribute
Machine Translation Google's Neural Machine Translation System: Bridging the Gap between Human and Machine Translation contribute

Models using Vision & NLP

Model Class Reference Description
Visual Question Answering VQA: Visual Question Answering contribute
Visual Question Answering Yin and Yang: Balancing and Answering Binary Visual Questions contribute
Visual Question Answering Making the V in VQA Matter: Elevating the Role of Image Understanding in Visual Question Answering contribute
Visual Dialog Visual Dialog contribute

Other interesting models

Model Class Reference Description
Time Series Forecasting Modeling Long- and Short-Term Temporal Patterns with Deep Neural Networks contribute
Recommender systems DropoutNet: Addressing Cold Start in Recommender Systems contribute
Collaborative filtering contribute
Autoencoders contribute

Model Serving

Want to try out models instantly? Many of the models in this model zoo can be served with Model Server using the model archives provided. Model Server is a flexible and easy tool to serve deep learning models by providing a REST API with an inference end point. Supported ONNX models such as those converted from Chainer, CNTK, MXNet, and PyTorch can be served with Model Server. To learn about ONNX model serving with Model Server, refer to the Model Server ONNX documentation.

Model Visualization

You can see visualizations of each model's network architecture by using Netron.

Contributions

Do you want to contribute a model? To get started, pick any model presented above with the contribute link under the Description column. The links point to a page containing guidelines for making a contribution.