Model Optimizer Developer Guide

Model Optimizer is a cross-platform command-line tool that facilitates the transition between the training and deployment environment, performs static model analysis, and adjusts deep learning models for optimal execution on end-point target devices.

Model Optimizer process assumes you have a network model trained using a supported deep learning framework. The scheme below illustrates the typical workflow for deploying a trained deep learning model:

Model Optimizer produces an Intermediate Representation (IR) of the network, which can be read, loaded, and inferred with the Inference Engine. The Inference Engine API offers a unified API across a number of supported Intel® platforms. The Intermediate Representation is a pair of files describing the model:

  • .xml - Describes the network topology
  • .bin - Contains the weights and biases binary data.

TIP: You also can work with the Model Optimizer inside the OpenVINO™ Deep Learning Workbench (DL Workbench). DL Workbench is a platform built upon OpenVINO™ and provides a web-based graphical environment that enables you to optimize, fine-tune, analyze, visualize, and compare performance of deep learning models on various Intel® architecture configurations. In the DL Workbench, you can use most of OpenVINO™ toolkit components.
Proceed to an easy installation from Docker to get started.

What's New in the Model Optimizer in this Release?

  • Common changes:
    • Updated requirements for the numpy component to avoid compatibility issues with TensorFlow 1.x.
    • Improved reshape-ability of models with eltwise and CTCGreedyDecoder operations
  • ONNX*:
    • Added support for the following operations:
      • Loop-11, 13
      • Round-11
      • GatherND-11, 12, 13
  • TensorFlow*:
    • Added support for the TensorFlow Object Detection API models with pre-processing block when mean/scale values are applied prior to resizing of the image. Previously only the case when mean/scale values are applied after the resize was supported.
    • Aligned FakeQuantized limits adjustment with TensorFlow approach
    • Added support for the following operations:
      • GatherND
      • Round
      • NonMaxSuppression
      • LogSoftmax
      • FakeQuantWithMinMaxVarsPerChannel
  • MXNet*:
    • Added support for the following operations:
      • GatherND
      • Round
  • Kaldi*:
    • Added support for the following operations:
      • TdnnComponent

NOTE: Intel® System Studio is an all-in-one, cross-platform tool suite, purpose-built to simplify system bring-up and improve system and IoT device application performance on Intel® platforms. If you are using the Intel® Distribution of OpenVINO™ with Intel® System Studio, go to Get Started with Intel® System Studio.

Table of Content

Typical Next Step: Preparing and Optimizing your Trained Model with Model Optimizer

Video: Model Optimizer Concept

Video: Model Optimizer Basic Operation

Video: Choosing the Right Precision