Convert Figma logo to code with AI

openvinotoolkit logoopen_model_zoo

Pre-trained Deep Learning models and demos (high quality and extremely fast)

4,119
1,374
4,119
56

Top Related Projects

8,052

A collection of pre-trained, state-of-the-art models in the ONNX format

16,111

Datasets, Transforms and Models specific to Computer Vision

🤗 Transformers: State-of-the-art Machine Learning for Pytorch, TensorFlow, and JAX.

ONNX Runtime: cross-platform, high performance ML inferencing and training accelerator

34,156

Caffe: a fast open framework for deep learning.

Quick Overview

The Open Model Zoo is a repository maintained by OpenVINO™ toolkit, containing pre-trained deep learning models and demos for various computer vision tasks. It provides a collection of high-quality models optimized for Intel® architectures, along with tools for model conversion and optimization.

Pros

  • Wide variety of pre-trained models for different computer vision tasks
  • Optimized for Intel® architectures, ensuring efficient performance
  • Regular updates with new models and improvements
  • Includes demos and sample applications for easy integration

Cons

  • Primarily focused on Intel® hardware, which may limit usefulness for other platforms
  • Some models may require additional setup or dependencies
  • Documentation can be overwhelming for beginners
  • Limited support for non-vision AI tasks

Code Examples

  1. Download a model using the Model Downloader tool:
from openvino.model_zoo import model_utils

model_name = "face-detection-0200"
precision = "FP16"

model_utils.download_model(model_name, precision=precision)
  1. Load and run inference using a downloaded model:
from openvino.runtime import Core

ie = Core()
model = ie.read_model("face-detection-0200.xml")
compiled_model = ie.compile_model(model, "CPU")

input_tensor = np.random.rand(1, 3, 256, 256).astype(np.float32)
output = compiled_model([input_tensor])[0]
  1. Convert a TensorFlow model to OpenVINO IR format:
from openvino.tools import mo

tf_model_path = "path/to/tensorflow_model.pb"
output_dir = "converted_model"

mo.convert_model(
    input_model=tf_model_path,
    model_name="converted_model",
    output_dir=output_dir
)

Getting Started

  1. Install OpenVINO™ toolkit and its dependencies:
pip install openvino-dev[tensorflow2,onnx,pytorch]
  1. Clone the Open Model Zoo repository:
git clone https://github.com/openvinotoolkit/open_model_zoo.git
cd open_model_zoo
  1. Install additional requirements:
pip install -r requirements.txt
  1. Download a model using the Model Downloader:
omz_downloader --name face-detection-0200
  1. Run a demo application:
python demos/object_detection_demo/python/object_detection_demo.py \
    -i /path/to/image.jpg \
    -m intel/face-detection-0200/FP16/face-detection-0200.xml \
    -at ssd

Competitor Comparisons

8,052

A collection of pre-trained, state-of-the-art models in the ONNX format

Pros of ONNX Models

  • Wider variety of models across different frameworks
  • Standardized format for better interoperability
  • Active community contributions and frequent updates

Cons of ONNX Models

  • Less focus on optimization for specific hardware
  • May require additional steps for deployment on certain platforms
  • Limited pre-trained models for some specialized tasks

Code Comparison

Open Model Zoo example (model loading):

from openvino.runtime import Core

ie = Core()
net = ie.read_model("model.xml")
compiled_model = ie.compile_model(net, "CPU")

ONNX Models example (model loading):

import onnxruntime as ort

session = ort.InferenceSession("model.onnx")
input_name = session.get_inputs()[0].name
output = session.run(None, {input_name: input_data})

Both repositories provide valuable resources for AI developers, but they serve different purposes. Open Model Zoo focuses on optimized models for Intel hardware, while ONNX Models offers a broader range of models in a standardized format. The choice between them depends on specific project requirements and target deployment platforms.

16,111

Datasets, Transforms and Models specific to Computer Vision

Pros of vision

  • Broader ecosystem support within PyTorch community
  • More extensive collection of pre-trained models for various computer vision tasks
  • Easier integration with other PyTorch-based projects and libraries

Cons of vision

  • Less optimized for inference on specific hardware platforms
  • Fewer tools for model optimization and deployment in production environments
  • May require more manual work for performance tuning on edge devices

Code Comparison

vision:

import torchvision.models as models
resnet18 = models.resnet18(pretrained=True)
resnet18.eval()

open_model_zoo:

from openvino.inference_engine import IECore
ie = IECore()
net = ie.read_network(model="resnet18.xml", weights="resnet18.bin")
exec_net = ie.load_network(network=net, device_name="CPU")

The vision code is more straightforward for loading pre-trained models, while open_model_zoo requires additional steps for inference optimization but offers more control over deployment.

🤗 Transformers: State-of-the-art Machine Learning for Pytorch, TensorFlow, and JAX.

Pros of transformers

  • Extensive collection of pre-trained models for various NLP tasks
  • Active community and frequent updates
  • Seamless integration with PyTorch and TensorFlow

Cons of transformers

  • Larger model sizes and higher computational requirements
  • Steeper learning curve for beginners
  • Less focus on optimized inference for edge devices

Code Comparison

transformers:

from transformers import BertTokenizer, BertModel
tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
model = BertModel.from_pretrained('bert-base-uncased')
inputs = tokenizer("Hello, world!", return_tensors="pt")
outputs = model(**inputs)

open_model_zoo:

from openvino.inference_engine import IECore
ie = IECore()
net = ie.read_network(model="bert-base-uncased.xml", weights="bert-base-uncased.bin")
exec_net = ie.load_network(network=net, device_name="CPU")
output = exec_net.infer(inputs={"input_ids": input_ids})

ONNX Runtime: cross-platform, high performance ML inferencing and training accelerator

Pros of ONNX Runtime

  • Broader hardware support, including CPUs, GPUs, and specialized AI accelerators
  • More extensive ecosystem and integration with popular ML frameworks
  • Active development with frequent updates and improvements

Cons of ONNX Runtime

  • Steeper learning curve for beginners compared to Open Model Zoo
  • May require more manual configuration for optimal performance
  • Less focus on pre-trained models and computer vision tasks

Code Comparison

ONNX Runtime:

import onnxruntime as ort

session = ort.InferenceSession("model.onnx")
input_name = session.get_inputs()[0].name
output = session.run(None, {input_name: input_data})

Open Model Zoo:

from openvino.inference_engine import IECore

ie = IECore()
net = ie.read_network(model="model.xml", weights="model.bin")
exec_net = ie.load_network(network=net, device_name="CPU")
output = exec_net.infer(inputs={input_layer: input_data})

Both repositories offer powerful tools for deploying machine learning models, but they cater to different use cases. ONNX Runtime provides a more versatile solution for various hardware platforms and ML frameworks, while Open Model Zoo focuses on optimized pre-trained models and computer vision tasks using OpenVINO.

34,156

Caffe: a fast open framework for deep learning.

Pros of Caffe

  • Mature and well-established deep learning framework
  • Extensive community support and resources
  • Efficient for image classification and computer vision tasks

Cons of Caffe

  • Limited support for newer deep learning architectures
  • Less flexible for non-vision tasks compared to modern frameworks
  • Development has slowed down in recent years

Code Comparison

Caffe (Python):

import caffe
net = caffe.Net('deploy.prototxt', 'model.caffemodel', caffe.TEST)
transformer = caffe.io.Transformer({'data': net.blobs['data'].data.shape})
transformed_image = transformer.preprocess('data', image)
output = net.forward_all(data=transformed_image)

Open Model Zoo (Python with OpenVINO):

from openvino.inference_engine import IECore
ie = IECore()
net = ie.read_network(model="model.xml", weights="model.bin")
exec_net = ie.load_network(network=net, device_name="CPU")
output = exec_net.infer(inputs={"input": preprocessed_image})

Open Model Zoo offers a more streamlined API for inference and better integration with Intel hardware, while Caffe provides a familiar interface for traditional deep learning workflows.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

OpenVINO™ Toolkit - Open Model Zoo repository

[!NOTE] Open Model Zoo is in maintenance mode as a source of models. Check out model tutorials in Jupyter notebooks.

This repository includes optimized deep learning models and a set of demos to expedite development of high-performance deep learning inference applications. Use these free pre-trained models instead of training your own models to speed-up the development and production deployment process.

Intel is committed to the respect of human rights and avoiding complicity in human rights abuses, a policy reflected in the Intel Global Human Rights Principles. Accordingly, by accessing the Intel material on this platform you agree that you will not use the material in a product or application that causes or contributes to a violation of an internationally recognized human right.

Repository Components:

License

Open Model Zoo is licensed under Apache License Version 2.0.

Telemetry

OpenVINO™ collects software performance and usage data for the purpose of improving OpenVINO™ tools. This data is collected directly by OpenVINO™ or through the use of Google Analytics 4. You can opt-out at any time by running the command:

opt_in_out --opt_out

Online Documentation

Other Usage Examples

How to Contribute

We welcome community contributions to the Open Model Zoo repository. If you have an idea how to improve the product, please share it with us doing the following steps:

You can find additional information about model contribution here.

We will review your contribution and, if any additional fixes or modifications are needed, may give you feedback to guide you. When accepted, your pull request will be merged into the GitHub* repositories.

Open Model Zoo is licensed under Apache License, Version 2.0. By contributing to the project, you agree to the license and copyright terms therein and release your contribution under these terms.

Support

Please report questions, issues and suggestions using:


* Other names and brands may be claimed as the property of others.