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.--input_shape
CLI parameter and image resizer type that is defined in the pipeline.config
file.PiorBoxClustered
nodes instead of the Const
node with priorboxes so that you can reshape SSD models in the Inference Engine.--tensorflow_custom_layer_libraries
to load shared libraries with custom TensorFlow* operations to reuse shape inference function.--generate_deprecated_IR_V2
command line parameter.Notice that certain topology-specific layers (like DetectionOutput used in the SSD*) are now shipped in a source code, which assumes the extensions library is compiled/loaded. The extensions are also required for the pre-trained models inference.
Typical Next Step: Introduction to Intel® Deep Learning Deployment Toolkit