diff --git a/docs/MO_DG/Deep_Learning_Model_Optimizer_DevGuide.md b/docs/MO_DG/Deep_Learning_Model_Optimizer_DevGuide.md index 61b8a623d21..d2e1e87ebc0 100644 --- a/docs/MO_DG/Deep_Learning_Model_Optimizer_DevGuide.md +++ b/docs/MO_DG/Deep_Learning_Model_Optimizer_DevGuide.md @@ -7,18 +7,23 @@ .. toctree:: :maxdepth: 1 :hidden: - - openvino_docs_MO_DG_IR_and_opsets + openvino_docs_MO_DG_prepare_model_convert_model_Converting_Model + openvino_docs_MO_DG_prepare_model_convert_model_Convert_Model_From_TensorFlow + openvino_docs_MO_DG_prepare_model_convert_model_Convert_Model_From_ONNX + openvino_docs_MO_DG_prepare_model_convert_model_Convert_Model_From_PyTorch + openvino_docs_MO_DG_prepare_model_convert_model_Convert_Model_From_Paddle + openvino_docs_MO_DG_prepare_model_convert_model_Convert_Model_From_MxNet + openvino_docs_MO_DG_prepare_model_convert_model_Convert_Model_From_Caffe + openvino_docs_MO_DG_prepare_model_convert_model_Convert_Model_From_Kaldi + openvino_docs_MO_DG_prepare_model_convert_model_Cutting_Model openvino_docs_MO_DG_Additional_Optimization_Use_Cases - openvino_docs_MO_DG_prepare_model_customize_model_optimizer_Customize_Model_Optimizer + openvino_docs_MO_DG_prepare_model_convert_model_tutorials openvino_docs_MO_DG_prepare_model_Model_Optimizer_FAQ - openvino_docs_MO_DG_Known_Issues_Limitations - openvino_docs_MO_DG_Default_Model_Optimizer_Optimizations @endsphinxdirective -## Introduction +## Introduction 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. @@ -26,11 +31,11 @@ Model Optimizer process assumes you have a network model trained using supported > **NOTE**: Model Optimizer does not infer models. Model Optimizer is an offline tool that runs before the inference takes place. -The scheme below illustrates the typical workflow for deploying a trained deep learning model: +The scheme below illustrates the typical workflow for deploying a trained deep learning model: ![](img/BASIC_FLOW_MO_simplified.svg) -The IR is a pair of files describing the model: +The IR is a pair of files describing the model: * .xml - Describes the network topology @@ -49,14 +54,14 @@ Before running the Model Optimizer, you must install the Model Optimizer pre-req .. tab:: Linux .. tab:: All frameworks - + .. tab:: Install globally .. code-block:: sh cd /deployment_tools/model_optimizer/install_prerequisites ./install_prerequisites.sh - + .. tab:: Install to virtualenv .. code-block:: sh @@ -67,14 +72,14 @@ Before running the Model Optimizer, you must install the Model Optimizer pre-req ./install_prerequisites.shs .. tab:: Caffe - + .. tab:: Install globally .. code-block:: sh cd /deployment_tools/model_optimizer/install_prerequisitess install_prerequisites_caffe.sh - + .. tab:: Install to virtualenv .. code-block:: sh @@ -85,90 +90,90 @@ Before running the Model Optimizer, you must install the Model Optimizer pre-req install_prerequisites_caffe.shs .. tab:: Tensorflow 1.x - + .. tab:: Install globally .. code-block:: sh - + cd /deployment_tools/model_optimizer/install_prerequisites install_prerequisites_tf.sh - + .. tab:: Install to virtualenv .. code-block:: sh - + cd /deployment_tools/model_optimizer/install_prerequisites virtualenv --system-site-packages -p python3 ./venv source ./venv/bin/activate # sh, bash, ksh, or zsh install_prerequisites_tf.sh .. tab:: Tensorflow 2.x - + .. tab:: Install globally .. code-block:: sh - + cd /deployment_tools/model_optimizer/install_prerequisites install_prerequisites_tf2.sh - + .. tab:: Install to virtualenv .. code-block:: sh - + cd /deployment_tools/model_optimizer/install_prerequisites virtualenv --system-site-packages -p python3 ./venv source ./venv/bin/activate # sh, bash, ksh, or zsh install_prerequisites_tf2.sh .. tab:: MXNet - + .. tab:: Install globally .. code-block:: sh - + cd /deployment_tools/model_optimizer/install_prerequisites install_prerequisites_mxnet.sh - + .. tab:: Install to virtualenv .. code-block:: sh - + cd /deployment_tools/model_optimizer/install_prerequisites virtualenv --system-site-packages -p python3 ./venv source ./venv/bin/activate # sh, bash, ksh, or zsh install_prerequisites_mxnet.sh .. tab:: ONNX - + .. tab:: Install globally .. code-block:: sh - + cd /deployment_tools/model_optimizer/install_prerequisites install_prerequisites_onnx.sh - + .. tab:: Install to virtualenv .. code-block:: sh - + cd /deployment_tools/model_optimizer/install_prerequisites virtualenv --system-site-packages -p python3 ./venv source ./venv/bin/activate # sh, bash, ksh, or zsh install_prerequisites_onnx.sh .. tab:: Kaldi - + .. tab:: Install globally .. code-block:: sh - + cd /deployment_tools/model_optimizer/install_prerequisites install_prerequisites_kaldi.sh - + .. tab:: Install to virtualenv .. code-block:: sh - + cd /deployment_tools/model_optimizer/install_prerequisites virtualenv --system-site-packages -p python3 ./venv source ./venv/bin/activate # sh, bash, ksh, or zsh @@ -177,126 +182,126 @@ Before running the Model Optimizer, you must install the Model Optimizer pre-req .. tab:: Windows .. tab:: All frameworks - + .. tab:: Install globally .. code-block:: sh - + cd \deployment_tools\model_optimizer\install_prerequisites\ install_prerequisites.bat - + .. tab:: Install to virtualenv .. code-block:: sh - + cd \deployment_tools\model_optimizer\install_prerequisites virtualenv --system-site-packages -p python .\env env\Scripts\activate.bat install_prerequisites.bat .. tab:: Caffe - + .. tab:: Install globally .. code-block:: sh - + cd \deployment_tools\model_optimizer\install_prerequisites\ install_prerequisites_caffe.bat - + .. tab:: Install to virtualenv .. code-block:: sh - + cd \deployment_tools\model_optimizer\install_prerequisites virtualenv --system-site-packages -p python .\env env\Scripts\activate.bat install_prerequisites_caffe.bat .. tab:: Tensorflow 1.x - + .. tab:: Install globally .. code-block:: sh - + cd \deployment_tools\model_optimizer\install_prerequisites\ install_prerequisites_tf.bat - + .. tab:: Install to virtualenv .. code-block:: sh - + cd \deployment_tools\model_optimizer\install_prerequisites virtualenv --system-site-packages -p python .\env env\Scripts\activate.bat install_prerequisites_tf.bat .. tab:: Tensorflow 2.x - + .. tab:: Install globally .. code-block:: sh - + cd \deployment_tools\model_optimizer\install_prerequisites\ install_prerequisites_tf2.bat - + .. tab:: Install to virtualenv .. code-block:: sh - + cd \deployment_tools\model_optimizer\install_prerequisites virtualenv --system-site-packages -p python .\env env\Scripts\activate.bat install_prerequisites_tf2.bat .. tab:: MXNet - + .. tab:: Install globally .. code-block:: sh - + cd \deployment_tools\model_optimizer\install_prerequisites\ install_prerequisites_mxnet.bat - + .. tab:: Install to virtualenv .. code-block:: sh - + cd \deployment_tools\model_optimizer\install_prerequisites virtualenv --system-site-packages -p python .\env env\Scripts\activate.bat install_prerequisites_mxnet.bat .. tab:: ONNX - + .. tab:: Install globally .. code-block:: sh - + cd \deployment_tools\model_optimizer\install_prerequisites\ install_prerequisites_onnx.bat - + .. tab:: Install to virtualenv .. code-block:: sh - + cd \deployment_tools\model_optimizer\install_prerequisites virtualenv --system-site-packages -p python .\env env\Scripts\activate.bat install_prerequisites_onnx.bat .. tab:: Kaldi - + .. tab:: Install globally .. code-block:: sh - + cd \deployment_tools\model_optimizer\install_prerequisites\ install_prerequisites_kaldi.bat - + .. tab:: Install to virtualenv .. code-block:: sh - + cd \deployment_tools\model_optimizer\install_prerequisites virtualenv --system-site-packages -p python .\env env\Scripts\activate.bat @@ -305,14 +310,14 @@ Before running the Model Optimizer, you must install the Model Optimizer pre-req .. tab:: macOS .. tab:: All frameworks - + .. tab:: Install globally .. code-block:: sh cd /deployment_tools/model_optimizer/install_prerequisites ./install_prerequisites.sh - + .. tab:: Install to virtualenv .. code-block:: sh @@ -323,14 +328,14 @@ Before running the Model Optimizer, you must install the Model Optimizer pre-req ./install_prerequisites.shs .. tab:: Caffe - + .. tab:: Install globally .. code-block:: sh cd /deployment_tools/model_optimizer/install_prerequisitess install_prerequisites_caffe.sh - + .. tab:: Install to virtualenv .. code-block:: sh @@ -341,90 +346,90 @@ Before running the Model Optimizer, you must install the Model Optimizer pre-req install_prerequisites_caffe.shs .. tab:: Tensorflow 1.x - + .. tab:: Install globally .. code-block:: sh - + cd /deployment_tools/model_optimizer/install_prerequisites install_prerequisites_tf.sh - + .. tab:: Install to virtualenv .. code-block:: sh - + cd /deployment_tools/model_optimizer/install_prerequisites virtualenv --system-site-packages -p python3 ./venv source ./venv/bin/activate # sh, bash, ksh, or zsh install_prerequisites_tf.sh .. tab:: Tensorflow 2.x - + .. tab:: Install globally .. code-block:: sh - + cd /deployment_tools/model_optimizer/install_prerequisites install_prerequisites_tf2.sh - + .. tab:: Install to virtualenv .. code-block:: sh - + cd /deployment_tools/model_optimizer/install_prerequisites virtualenv --system-site-packages -p python3 ./venv source ./venv/bin/activate # sh, bash, ksh, or zsh install_prerequisites_tf2.sh .. tab:: MXNet - + .. tab:: Install globally .. code-block:: sh - + cd /deployment_tools/model_optimizer/install_prerequisites install_prerequisites_mxnet.sh - + .. tab:: Install to virtualenv .. code-block:: sh - + cd /deployment_tools/model_optimizer/install_prerequisites virtualenv --system-site-packages -p python3 ./venv source ./venv/bin/activate # sh, bash, ksh, or zsh install_prerequisites_mxnet.sh .. tab:: ONNX - + .. tab:: Install globally .. code-block:: sh - + cd /deployment_tools/model_optimizer/install_prerequisites install_prerequisites_onnx.sh - + .. tab:: Install to virtualenv .. code-block:: sh - + cd /deployment_tools/model_optimizer/install_prerequisites virtualenv --system-site-packages -p python3 ./venv source ./venv/bin/activate # sh, bash, ksh, or zsh install_prerequisites_onnx.sh .. tab:: Kaldi - + .. tab:: Install globally .. code-block:: sh - + cd /deployment_tools/model_optimizer/install_prerequisites install_prerequisites_kaldi.sh - + .. tab:: Install to virtualenv .. code-block:: sh - + cd /deployment_tools/model_optimizer/install_prerequisites virtualenv --system-site-packages -p python3 ./venv source ./venv/bin/activate # sh, bash, ksh, or zsh @@ -435,63 +440,63 @@ Before running the Model Optimizer, you must install the Model Optimizer pre-req .. tab:: Linux .. tab:: All frameworks - + .. code-block:: sh - + cd /deployment_tools/model_optimizer/ virtualenv --system-site-packages -p python3 ./venv source ./venv/bin/activate pip3 install -r requirements.txt .. tab:: Caffe - + .. code-block:: sh - + cd /deployment_tools/model_optimizer/ virtualenv --system-site-packages -p python3 ./venv source ./venv/bin/activate pip3 install -r requirements_caffe.txt .. tab:: Tensorflow 1.x - + .. code-block:: sh - + cd /deployment_tools/model_optimizer/ virtualenv --system-site-packages -p python3 ./venv source ./venv/bin/activate pip3 install -r requirements_tf.txt .. tab:: Tensorflow 2.x - + .. code-block:: sh - + cd /deployment_tools/model_optimizer/ virtualenv --system-site-packages -p python3 ./venv source ./venv/bin/activate pip3 install -r requirements_tf2.txt .. tab:: MXNet - + .. code-block:: sh - + cd /deployment_tools/model_optimizer/ virtualenv --system-site-packages -p python3 ./venv source ./venv/bin/activate pip3 install -r requirements_mxnet.txt .. tab:: ONNX - + .. code-block:: sh - + cd /deployment_tools/model_optimizer/ virtualenv --system-site-packages -p python3 ./venv source ./venv/bin/activate pip3 install -r requirements_onnx.txt .. tab:: Kaldi - + .. code-block:: sh - + cd /deployment_tools/model_optimizer/ virtualenv --system-site-packages -p python3 ./venv source ./venv/bin/activate @@ -500,63 +505,63 @@ Before running the Model Optimizer, you must install the Model Optimizer pre-req .. tab:: Windows .. tab:: All frameworks - + .. code-block:: sh - + cd \deployment_tools\model_optimizer virtualenv --system-site-packages -p python .\env env\Scripts\activate.bat pip install -r requirements.txt .. tab:: Caffe - + .. code-block:: sh - + cd \deployment_tools\model_optimizer virtualenv --system-site-packages -p python .\env env\Scripts\activate.bat pip install -r requirements_caffe.txt .. tab:: Tensorflow 1.x - + .. code-block:: sh - + cd \deployment_tools\model_optimizer virtualenv --system-site-packages -p python .\env env\Scripts\activate.bat pip install -r requirements_tf.txt .. tab:: Tensorflow 2.x - + .. code-block:: sh - + cd \deployment_tools\model_optimizer virtualenv --system-site-packages -p python .\env env\Scripts\activate.bat pip install -r requirements_tf2.txt .. tab:: MXNet - + .. code-block:: sh - + cd \deployment_tools\model_optimizer virtualenv --system-site-packages -p python .\env env\Scripts\activate.bat pip install -r requirements_mxnet.txt .. tab:: ONNX - + .. code-block:: sh - + cd \deployment_tools\model_optimizer virtualenv --system-site-packages -p python .\env env\Scripts\activate.bat pip install -r requirements_onnx.txt .. tab:: Kaldi - + .. code-block:: sh - + cd \deployment_tools\model_optimizer virtualenv --system-site-packages -p python .\env env\Scripts\activate.bat @@ -565,63 +570,63 @@ Before running the Model Optimizer, you must install the Model Optimizer pre-req .. tab:: macOS .. tab:: All frameworks - + .. code-block:: sh - + cd /deployment_tools/model_optimizer/ virtualenv --system-site-packages -p python3 ./venv source ./venv/bin/activate pip3 install -r requirements.txt .. tab:: Caffe - + .. code-block:: sh - + cd /deployment_tools/model_optimizer/ virtualenv --system-site-packages -p python3 ./venv source ./venv/bin/activate pip3 install -r requirements_caffe.txt .. tab:: Tensorflow 1.x - + .. code-block:: sh - + cd /deployment_tools/model_optimizer/ virtualenv --system-site-packages -p python3 ./venv source ./venv/bin/activate pip3 install -r requirements_tf.txt .. tab:: Tensorflow 2.x - + .. code-block:: sh - + cd /deployment_tools/model_optimizer/ virtualenv --system-site-packages -p python3 ./venv source ./venv/bin/activate pip3 install -r requirements_tf2.txt .. tab:: MXNet - + .. code-block:: sh - + cd /deployment_tools/model_optimizer/ virtualenv --system-site-packages -p python3 ./venv source ./venv/bin/activate pip3 install -r requirements_mxnet.txt .. tab:: ONNX - + .. code-block:: sh - + cd /deployment_tools/model_optimizer/ virtualenv --system-site-packages -p python3 ./venv source ./venv/bin/activate pip3 install -r requirements_onnx.txt .. tab:: Kaldi - + .. code-block:: sh - + cd /deployment_tools/model_optimizer/ virtualenv --system-site-packages -p python3 ./venv source ./venv/bin/activate @@ -634,21 +639,28 @@ Before running the Model Optimizer, you must install the Model Optimizer pre-req To convert the model to the Intermediate Representation (IR), run Model Optimizer: ```sh -mo --input_model INPUT_MODEL --output_dir +mo --input_model INPUT_MODEL ``` -You need to have write permissions for an output directory. +> **NOTE**: Some models require using additional arguments, such as `--input`, `--input_shape`, and `--output`. To learn about when you need to use these parameters, refer to [General Conversion Parameters](prepare_model/convert_model/Converting_Model.md). -> **NOTE**: Some models require using additional arguments to specify conversion parameters, such as `--input_shape`, `--scale`, `--scale_values`, `--mean_values`, `--mean_file`. To learn about when you need to use these parameters, refer to [Converting a Model to Intermediate Representation (IR)](prepare_model/convert_model/Converting_Model.md). - -To adjust the conversion process, you may use general parameters defined in the [Converting a Model to Intermediate Representation (IR)](prepare_model/convert_model/Converting_Model.md) and -framework-specific parameters for: -* [Caffe](prepare_model/convert_model/Convert_Model_From_Caffe.md) +To adjust the conversion process, you may use [general parameters](prepare_model/convert_model/Converting_Model.md) and framework-specific parameters for: * [TensorFlow](prepare_model/convert_model/Convert_Model_From_TensorFlow.md) -* [MXNet](prepare_model/convert_model/Convert_Model_From_MxNet.md) * [ONNX](prepare_model/convert_model/Convert_Model_From_ONNX.md) +* [PyTorch](prepare_model/convert_model/Convert_Model_From_PyTorch.md) +* [PaddlePaddle](prepare_model/convert_model/Convert_Model_From_Paddle.md) +* [MXNet](prepare_model/convert_model/Convert_Model_From_MxNet.md) +* [Caffe](prepare_model/convert_model/Convert_Model_From_Caffe.md) * [Kaldi](prepare_model/convert_model/Convert_Model_From_Kaldi.md) +## Examples of CLI Commands + +Launch the Model Optimizer for the Caffe bvlc_alexnet model: + +```sh +mo --input_model bvlc_alexnet.caffemodel +``` + ## Videos @sphinxdirective @@ -660,7 +672,7 @@ framework-specific parameters for: - + - .. raw:: html