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_shapeCLI parameter and image resizer type that is defined in the
PiorBoxClusterednodes instead of the
Constnode with priorboxes so that you can reshape SSD models in the Inference Engine.
--tensorflow_custom_layer_librariesto load shared libraries with custom TensorFlow* operations to reuse shape inference function.
--generate_deprecated_IR_V2command 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