openvino/tools/mo
Ilya Lavrenov ccd9cadb14
Port to 2022.3 LTS (#15506)
* scripts/install_dependencies/install_NEO_OCL_driver.sh: code style (#15484)

* scripts/install_dependencies/install_NEO_OCL_driver.sh: code style

* scripts/install_dependencies/install_NEO_OCL_driver.sh: code style warnings

* scripts/install_dependencies/install_NEO_OCL_driver.sh: add missing !

* [PyOV] Fix UserWarning in setup.py (#15334)

* [Tools] Support NumPy 1.24 (#14728)

* [Tools] Avoid use of NumPy deprecated types

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Revert "[Tools] Avoid use of NumPy deprecated types"

This reverts commit 21ffc167d1.

* Move to 1.24 Numpy

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* [PyOV] Change default opset9->opset10 (#15238)

* Meiyang/paddle 2.4 (#15177)

* PaddlePaddle 2.4.1 support

* Update src/frontends/paddle/tests/requirements.txt

lowering PDPD version

* update paddlepaddle to 2.4.0

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>

* Update README.md (#15504)

Just a small typo.

* Throw an exceptions in case of incorrect pointers in Model creation (#15492)

* [C++] Fix coverity issues (#15348)

* [C++] Fix coverity issues

* Merge master with this branch

* [C++] Reapply changes that got eaten during merge

* Update samples/cpp/benchmark_app/main.cpp

Co-authored-by: Ilya Churaev <ilyachur@gmail.com>

* [C++] Add missing const keyword

---------

Co-authored-by: Ilya Churaev <ilyachur@gmail.com>

* [Tests] Fix rest of NumPy deprecated types (#15245)

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Bump paddlepaddle from 2.4.0 to 2.4.1 in /src/frontends/paddle/tests (#15190)

Bumps [paddlepaddle](https://github.com/paddlepaddle/paddle) from 2.4.0 to 2.4.1.
- [Release notes](https://github.com/paddlepaddle/paddle/releases)
- [Changelog](https://github.com/PaddlePaddle/Paddle/blob/develop/RELEASE.md)
- [Commits](https://github.com/paddlepaddle/paddle/compare/v2.4.0...v2.4.1)

---
updated-dependencies:
- dependency-name: paddlepaddle
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* [nGraph]: fix fused names for ShuffleChannelsFusion transformation (#15150)

* [nGraph]: fix fused names for ShuffleChannelsFusion transformation

* Review comments

* [MO] Activate pylint checker in CI (#15012)

* Fixed mo workflow

* Update pylint config with import os

* Update .github/workflows/mo.yml

* Install extras for pylint checker

* Fix pylint reported errors

* Add torch to the environment

* Add torch into whitelist

* Ignore torch

* Localize torch code

* Fix syntax error

* Remove MO unit-test from Pylint flow

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>

* [PyOV] Allow `numpy` patch releases (#15265)

* Update reqs

* test, minor change

* [LPT] clang merge warning fix (#15502)

* Trying to fix debian packages (#15508)

* Trying to fix debian packages

* Added conflicts for samples for RPM

* updated mo/requirements.txt

* updated python/requirements.txt

* updated compatibility/requirements.txt

* Ipdated more places

* Revert "scripts/install_dependencies/install_NEO_OCL_driver.sh: code style (#15484)"

This reverts commit 36106d9c45.

* Apply suggestions from code review

* Added policy

---------

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Zlobin Vladimir <vladimir.zlobin@intel.com>
Co-authored-by: Jan Iwaszkiewicz <jan.iwaszkiewicz@intel.com>
Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>
Co-authored-by: Anastasia Kuporosova <anastasia.kuporosova@intel.com>
Co-authored-by: mei, yang <yang.mei@intel.com>
Co-authored-by: kyo <113977534+kyo-takano@users.noreply.github.com>
Co-authored-by: Ilya Churaev <ilya.churaev@intel.com>
Co-authored-by: Piotr Krzemiński <piotr.krzeminski@intel.com>
Co-authored-by: Ilya Churaev <ilyachur@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nadezhda Ageeva <nadezhda.ageeva@intel.com>
Co-authored-by: Przemyslaw Wysocki <przemyslaw.wysocki@intel.com>
Co-authored-by: Edward Shogulin <edward.shogulin@intel.com>
2023-02-09 15:34:18 +04:00
..
automation Updated copyrights with 2023 year (#15148) 2023-02-02 16:48:28 +01:00
openvino Port to 2022.3 LTS (#15506) 2023-02-09 15:34:18 +04:00
unit_tests Port to 2022.3 LTS (#15506) 2023-02-09 15:34:18 +04:00
.coveragerc [MO] Align MO namespaces (#7708) 2021-12-08 08:53:53 +03:00
.pylintdict [MO] Align MO namespaces (#7708) 2021-12-08 08:53:53 +03:00
.pylintrc Port to 2022.3 LTS (#15506) 2023-02-09 15:34:18 +04:00
CMakeLists.txt Updated copyrights with 2023 year (#15148) 2023-02-02 16:48:28 +01:00
README.md [MO] Align MO namespaces (#7708) 2021-12-08 08:53:53 +03:00
requirements.txt Port to 2022.3 LTS (#15506) 2023-02-09 15:34:18 +04:00
requirements_caffe.txt Port to 2022.3 LTS (#15506) 2023-02-09 15:34:18 +04:00
requirements_dev.txt [PyOV] Enable Python 3.10 on Azure CI (#12578) 2022-11-08 11:38:39 +04:00
requirements_kaldi.txt Port to 2022.3 LTS (#15506) 2023-02-09 15:34:18 +04:00
requirements_mxnet.txt Port to 2022.3 LTS (#15506) 2023-02-09 15:34:18 +04:00
requirements_onnx.txt Port to 2022.3 LTS (#15506) 2023-02-09 15:34:18 +04:00
requirements_tf.txt Port to 2022.3 LTS (#15506) 2023-02-09 15:34:18 +04:00
requirements_tf2.txt Port to 2022.3 LTS (#15506) 2023-02-09 15:34:18 +04:00
setup.py Updated copyrights with 2023 year (#15148) 2023-02-02 16:48:28 +01:00

README.md

Installation

Installing from PyPi

  1. Create a virtual environment and activate it, e.g.:
virtualenv -p /usr/bin/python3.7 .env3
source .env3/bin/activate
  1. Install openvino-dev package, it contains Model Optimizer:
pip install openvino-dev

This will download all requirements and will install MO in your current virtual environment. If you need only particular frameworks you can specify them manually as optional dependencies in square brackets. E.g. the command below will install dependencies to support ONNX* and TensorFlow2* models:

pip install openvino-dev[onnx,tensorflow2]

To enable support of MxNet* models run:

pip install openvino-dev[mxnet]

To enable support of all frameworks:

pip install openvino-dev[all]

By default, if no frameworks are specified, dependencies to support ONNX* and TensorFlow2* are installed.

Converting models

Setup development environment

If you want to contribute to Model Optimizer you will need to deploy developer environment. You can do that by following the steps below:

  1. Create virtual environment and activate it, e.g.:
virtualenv -p /usr/bin/python3.7 .env3
source .env3/bin/activate
  1. Clone the OpenVINO™ repository and change dir to model-optimizer
git clone https://github.com/openvinotoolkit/openvino
cd openvino/tools/mo/
  1. Install openvino-mo package for development:
pip install -e .

or run setup.py develop, result will be the same:

python setup.py develop

This will download all requirements and deploy Model Optimizer for development in your virtual environment: specifically will create *.egg-link into the current directory in your site-packages. As previously noted, you can also manually specify to support only selected frameworks :

pip install -e ".[onnx,tensorflow2]"

How to run unit-tests

  1. Run tests with:
    python -m unittest discover -p "*_test.py" [-s PATH_TO_DIR]

How to capture unit-tests coverage

  1. Run tests with:
    coverage run -m unittest discover -p "*_test.py" [-s PATH_TO_DIR]
  1. Build html report:
    coverage html

How to run code linting

  1. Run the following command:
    pylint openvino/tools/mo/ mo.py