7.6 KiB
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](@ref workbench_docs_Workbench_DG_Introduction) (DL Workbench). [DL Workbench](@ref workbench_docs_Workbench_DG_Introduction) 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](@ref workbench_docs_Workbench_DG_Install_from_Docker_Hub) 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
- Added support for the following operations:
- 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
- Added support for the following operations:
- Kaldi*:
- Added support for the following operations:
- TdnnComponent
- Added support for the following operations:
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
-
Preparing and Optimizing your Trained Model with Model Optimizer
- Configuring Model Optimizer
- Converting a Model to Intermediate Representation (IR)
- Converting a Model Using General Conversion Parameters
- Converting Your Caffe* Model
- Converting Your TensorFlow* Model
- Converting BERT from TensorFlow
- Converting GNMT from TensorFlow
- Converting YOLO from DarkNet to TensorFlow and then to IR
- Converting Wide and Deep Models from TensorFlow
- Converting FaceNet from TensorFlow
- Converting DeepSpeech from TensorFlow
- Converting Language Model on One Billion Word Benchmark from TensorFlow
- Converting Neural Collaborative Filtering Model from TensorFlow*
- Converting TensorFlow* Object Detection API Models
- Converting TensorFlow*-Slim Image Classification Model Library Models
- Converting CRNN Model from TensorFlow*
- Converting Your MXNet* Model
- Converting Your Kaldi* Model
- Converting Your ONNX* Model
- Model Optimizations Techniques
- Cutting parts of the model
- Sub-graph Replacement in Model Optimizer
- Supported Framework Layers
- Intermediate Representation and Operation Sets
- Operations Specification
- Intermediate Representation suitable for INT8 inference
- Model Optimizer Extensibility
- Model Optimizer Frequently Asked Questions
Typical Next Step: Preparing and Optimizing your Trained Model with Model Optimizer
