Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master' into acl-conan
Browse files Browse the repository at this point in the history
  • Loading branch information
ilya-lavrenov committed Sep 21, 2023
2 parents 4a8ae82 + e068cfc commit 7435149
Show file tree
Hide file tree
Showing 207 changed files with 5,660 additions and 1,263 deletions.
3 changes: 2 additions & 1 deletion .ci/azure/linux_arm64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,8 @@ jobs:
echo "CC=aarch64-linux-gnu-gcc-10" >> $(BUILD_OPENVINO)/linux_arm64
echo "CXX=aarch64-linux-gnu-g++-10" >> $(BUILD_OPENVINO)/linux_arm64
# install ARM Compute explicitly
conan create $(CONAN_CENTER_INDEX_REPO_DIR)/recipes/compute_library/all --version 23.08 -b missing
conan create $(CONAN_CENTER_INDEX_REPO_DIR)/recipes/compute_library/all \
--version 23.08 -b missing -pr:h $(BUILD_OPENVINO)/linux_arm64 -s:h arch=armv8
# install OpenVINO dependencies
conan install $(OPENVINO_REPO_DIR)/conanfile.txt \
-pr:h $(BUILD_OPENVINO)/linux_arm64 \
Expand Down
3 changes: 2 additions & 1 deletion .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,7 @@ updates:
time: "09:00"
timezone: "Asia/Dubai"
assignees:
- "ilyachur"
- "akashchi"
- "mryzhov"
- "ilya-lavrenov"
open-pull-requests-limit: 3
23 changes: 21 additions & 2 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -887,6 +887,13 @@ jobs:
MODEL_HUB_TESTS_INSTALL_DIR: ${{ github.workspace }}/install/tests/model_hub_tests

steps:
- name: Maximize build space
run: |
sudo rm -rf /usr/local/lib/android # will release about 10 GB if you don't need Android
sudo rm -rf /usr/share/dotnet # will release about 20GB if you don't need .NET
sudo rm -rf /opt/ghc
echo "Available storage:"
df -h
- name: Create Directories
run: |
mkdir -p ${{ env.INSTALL_DIR }} ${{ env.INSTALL_TEST_DIR }}
Expand Down Expand Up @@ -917,16 +924,28 @@ jobs:
- name: Install Python wheels
run: |
python3 -m pip install openvino --find-links=${{ env.INSTALL_DIR }}/tools
- name: PyTorch Models Tests
- name: Install requirements
run: |
python3 -m pip install -r ${{ env.MODEL_HUB_TESTS_INSTALL_DIR }}/torch_tests/requirements.txt
python3 -m pip install -r ${{ env.MODEL_HUB_TESTS_INSTALL_DIR }}/torch_tests/requirements_secondary.txt
python3 -m pip cache purge
echo "Available storage:"
df -h
du -h -d0 ~/.cache ~/*
- name: PyTorch Models Tests
run: |
export PYTHONPATH=${{ env.MODEL_HUB_TESTS_INSTALL_DIR }}:$PYTHONPATH
python3 -m pytest ${{ env.MODEL_HUB_TESTS_INSTALL_DIR }}/torch_tests/ -m ${{ env.TYPE }} --html=${{ env.INSTALL_TEST_DIR }}/TEST-torch_model_tests.html --self-contained-html
python3 -m pytest ${{ env.MODEL_HUB_TESTS_INSTALL_DIR }}/torch_tests/ -m ${{ env.TYPE }} --html=${{ env.INSTALL_TEST_DIR }}/TEST-torch_model_tests.html --self-contained-html -v
env:
TYPE: ${{ github.event_name == 'schedule' && 'nightly' || 'precommit'}}
TEST_DEVICE: CPU

- name: Available storage after tests
run: |
echo "Available storage:"
df -h
du -h -d0 ~/.cache ~/*
- name: Upload Test Results
uses: actions/upload-artifact@v3
if: ${{ always() }}
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/linux_onnxruntime.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ jobs:
INSTALL_DIR: ${{ github.workspace }}/install/openvino
steps:
- name: Clone OpenVINO
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
path: 'openvino'
submodules: 'true'
Expand Down Expand Up @@ -96,7 +96,7 @@ jobs:
#

- name: Get number of CPU cores
uses: SimenB/github-actions-cpu-cores@v1
uses: SimenB/github-actions-cpu-cores@v2
id: cpu-cores

- name: CMake configure
Expand Down
2 changes: 1 addition & 1 deletion conan.lock
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
"hwloc/2.9.2#1c63e2eccac57048ae226e6c946ebf0e%1688677682.002",
"gflags/2.2.2#48d1262ffac8d30c3224befb8275a533%1676224985.343",
"flatbuffers/23.5.26#b153646f6546daab4c7326970b6cd89c%1685838458.449",
"compute_library/23.08#6942370724cbbaf7848925eef9ffdf0c%1695152537.14029",
"compute_library/23.02.1#ab2dda7d4824191068f45b43b226477d%1695334505.049299",
"ade/0.1.2c#8c03c130df6dc35186b38ba73a40a71d%1694253992.577"
],
"build_requires": [
Expand Down
2 changes: 1 addition & 1 deletion conanfile.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ onnx/1.14.1
nlohmann_json/[>=3.1.1]
pybind11/[>=2.10.1]
flatbuffers/[>=22.9.24]
compute_library/23.08
compute_library/23.02.1

[tool_requires]
cmake/[>=3.20]
Expand Down
2 changes: 1 addition & 1 deletion docs/MO_DG/prepare_model/Model_Optimizer_FAQ.md
Original file line number Diff line number Diff line change
Expand Up @@ -933,7 +933,7 @@ Q102. What does the message "Operation _contrib_box_nms is not supported ..." me
Q103. What does the message "ModelOptimizer is not able to parse *.caffemodel" mean?
#####################################################################################################################################################

**A:** If a ``*.caffemodel`` file exists and is correct, the error occurred possibly because of the use of Python protobuf implementation. In some cases, error messages may appear during model parsing, for example: "``utf-8`` codec can't decode byte 0xe0 in position 4: invalid continuation byte in field: mo_caffe.SpatialTransformerParameter.transform_type". You can either use a newer Python version (3.7 - 3.11) or build the ``cpp`` implementation of ``protobuf`` yourself for your version of Python. For the complete instructions about building ``protobuf`` from sources, see the appropriate section in the :doc:`Converting Models with Model Optimizer <openvino_docs_MO_DG_Deep_Learning_Model_Optimizer_DevGuide>` guide.
**A:** If a ``*.caffemodel`` file exists and is correct, the error occurred possibly because of the use of Python protobuf implementation. In some cases, error messages may appear during model parsing, for example: "``utf-8`` codec can't decode byte 0xe0 in position 4: invalid continuation byte in field: mo_caffe.SpatialTransformerParameter.transform_type". You can either use a newer Python version (3.8 - 3.11) or build the ``cpp`` implementation of ``protobuf`` yourself for your version of Python. For the complete instructions about building ``protobuf`` from sources, see the appropriate section in the :doc:`Converting Models with Model Optimizer <openvino_docs_MO_DG_Deep_Learning_Model_Optimizer_DevGuide>` guide.

.. _question-104:

Expand Down
1 change: 1 addition & 0 deletions docs/OV_Runtime_UG/Operations_specifications.md
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,7 @@
MulticlassNonMaxSuppression-9 <openvino_docs_ops_sort_MulticlassNonMaxSuppression_9>
Multiply-1 <openvino_docs_ops_arithmetic_Multiply_1>
Negative-1 <openvino_docs_ops_arithmetic_Negative_1>
NMSRotated-13 <openvino_docs_ops_sort_NMSRotated_13>
NonMaxSuppression-1 <openvino_docs_ops_sort_NonMaxSuppression_1>
NonMaxSuppression-3 <openvino_docs_ops_sort_NonMaxSuppression_3>
NonMaxSuppression-4 <openvino_docs_ops_sort_NonMaxSuppression_4>
Expand Down
8 changes: 4 additions & 4 deletions docs/dev/build_linux.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ The software was validated on:

- [CMake](https://cmake.org/download/) 3.13 or higher
- GCC 7.5 or higher to build OpenVINO Runtime
- Python 3.7 - 3.11 for OpenVINO Runtime Python API
- Python 3.8 - 3.11 for OpenVINO Runtime Python API
- (Optional) Install Intel® Graphics Compute Runtime for OpenCL™ Driver package to enable inference on Intel integrated GPUs. Select a driver package from the table below depending on what version of Ubuntu you are installing on.

| Ubuntu | Driver package |
Expand Down Expand Up @@ -74,9 +74,9 @@ You can use the following additional build options:
```
2. Enable the `-DENABLE_PYTHON=ON` option in the CMake step above (Step 4). To specify an exact Python version, use the following options:
```
-DPYTHON_EXECUTABLE=`which python3.7` \
-DPYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.7m.so \
-DPYTHON_INCLUDE_DIR=/usr/include/python3.7
-DPYTHON_EXECUTABLE=`which python3.8` \
-DPYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.8.so \
-DPYTHON_INCLUDE_DIR=/usr/include/python3.8
```
3. To build a wheel package (.whl), enable the `-DENABLE_WHEEL=ON` option in the CMake step above (Step 4), and install requirements:
```sh
Expand Down
2 changes: 1 addition & 1 deletion docs/dev/build_mac_arm.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ The software was validated on:
- [brew](https://brew.sh) package manager to install additional dependencies. Use [install brew](https://brew.sh) guide to achieve this.

- Installation step for python and python libraries varies depending on the host architecture:
- **arm64** Python 3.7 - 3.11 for the OpenVINO Runtime Python API, Development tools (Model Optimizer, POT and others):
- **arm64** Python 3.8 - 3.11 for the OpenVINO Runtime Python API, Development tools (Model Optimizer, POT and others):
```sh
% # let's have a look what python versions are available in brew
% brew search python
Expand Down
2 changes: 1 addition & 1 deletion docs/dev/build_mac_intel_cpu.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ The software was validated on:

- [brew](https://brew.sh) package manager to install additional dependencies. Use [install brew](https://brew.sh) guide to achieve this.
- Installation step for python and python libraries varies depending on the host architecture:
- **x86_64** Python 3.7 - 3.11 for the OpenVINO Runtime Python API, Development tools (Model Optimizer, POT and others):
- **x86_64** Python 3.8 - 3.11 for the OpenVINO Runtime Python API, Development tools (Model Optimizer, POT and others):
```sh
% # let's have a look what python versions are available in brew
% brew search python
Expand Down
6 changes: 3 additions & 3 deletions docs/dev/build_raspbian.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,9 @@ git clone --recurse-submodules --single-branch --branch=master https://github.co
via `pip3`, adding the following options:
```sh
-DENABLE_PYTHON=ON \
-DPYTHON_EXECUTABLE=/usr/bin/python3.7 \
-DPYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.7m.so \
-DPYTHON_INCLUDE_DIR=/usr/include/python3.7
-DPYTHON_EXECUTABLE=/usr/bin/python3.8 \
-DPYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.8.so \
-DPYTHON_INCLUDE_DIR=/usr/include/python3.8
```

## See also
Expand Down
35 changes: 6 additions & 29 deletions docs/dev/build_windows.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Supported configurations:
- [CMake](https://cmake.org/download/) 3.13 or higher
- Microsoft Visual Studio 2019 or higher, version 16.3 or later
> **NOTE**: Native Microsoft Visual Studio for WoA is available since 2022.
- Python 3.7 - 3.11 for OpenVINO Runtime Python API
- Python 3.8 - 3.11 for OpenVINO Runtime Python API
> **NOTE**: Python for ARM64 is available since [3.11](https://www.python.org/downloads/windows/) version.
- [Git for Windows*]
- (Windows on ARM only) [LLVM for Windows on ARM (WoA)](https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.6/LLVM-15.0.6-woa64.exe)
Expand All @@ -25,29 +25,17 @@ Supported configurations:
```sh
git clone https://github.com/openvinotoolkit/openvino.git
cd openvino
git submodule update --init --recursive
```
(Extra for WoA) To build on Windows on ARM with ARM plugin:
```sh
git clone https://github.com/openvinotoolkit/openvino_contrib.git
cd openvino_contrib
git submodule update --init --recursive
git submodule update --init
```

2. Create build directory:
```sh
mkdir build && cd build
```
3. In the `build` directory, run `cmake` to fetch project dependencies and generate a Visual Studio solution.
3. In the `build` directory, run `cmake` to fetch project dependencies and generate a Visual Studio solution:

On Windows x86 64-bits:
```sh
cmake -G "Visual Studio 16 2019" -DCMAKE_BUILD_TYPE=Release <openvino>
```

On Windows on ARM for ARM64 architecture:
```sh
cmake -G "Visual Studio 16 2019" -DOPENVINO_EXTRA_MODULES=<openvino_contrib>/modules/arm_plugin -DCMAKE_BUILD_TYPE=Release <openvino>
cmake -G "Visual Studio 17 2022" <openvino>
```

> **HINT**: **Generating PDB Files and Debugging Your Build** <br>
Expand All @@ -62,16 +50,8 @@ Supported configurations:

### Additional Build Options

- Internal JIT GEMM implementation is used by default.

- Threading Building Blocks (TBB) is used by default. To build Inference Engine with OpenMP threading, set the `-DTHREADING=OMP` option.

- Required versions of TBB and OpenCV packages are downloaded automatically by the CMake-based script. If you want to use the automatically-downloaded packages but you have already installed TBB or OpenCV packages configured in your environment, you may need to clean the `TBBROOT` and `OpenCV_DIR` environment variables before running the `cmake` command; otherwise they won'tnbe downloaded and the build may fail if incompatible versions were installed.
- If the CMake-based build script can not find and download the OpenCV package that is supported on your platform, or if you want to use a custom build of the OpenCV library, refer to the [Use Custom OpenCV Builds](./cmake_options_for_custom_compilation.md#Building-with-custom-OpenCV) section for details.
- To build the OpenVINO Runtime Python API:
1. First, install all additional packages (e.g., cython and opencv) listed in the file:
1. First, install all additional packages (e.g., cython) listed in the file:
```sh
pip install -r <openvino>\src\bindings\python\src\compatibility\openvino\requirements-dev.txt
```
Expand All @@ -95,15 +75,12 @@ Supported configurations:
pip install build/wheel/openvino-2023.0.0-9612-cp11-cp11-win_arm64.whl
```

- OpenVINO runtime compilation options:
`-DENABLE_OV_ONNX_FRONTEND=ON` enables the building of the ONNX importer.
### Building OpenVINO with Ninja* Build System

```sh
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvars64.bat"
cmake -G Ninja -Wno-dev -DCMAKE_BUILD_TYPE=Release ..
cmake --build . --config Release
ninja .
```

## See also
Expand Down
3 changes: 3 additions & 0 deletions docs/dev/cmake_options_for_custom_compilation.md
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,9 @@ This document provides description and default values for CMake options that can
* `OFF` is default, because it increases binary size.
* `SELECTIVE_BUILD` enables [[Conditional compilation|ConditionalCompilation]] feature.
* `OFF` is default.
* `ENABLE_MLAS_FOR_CPU` enables MLAS library for CPU plugin
* `ON` is default for x86_64 and AARCH64 platforms
* Affects only OpenVINO CPU plugin

## Building with OpenCV

Expand Down
2 changes: 1 addition & 1 deletion docs/dev/static_libaries.md
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ cmake -DCMAKE_TOOLCHAIN_FILE=<openvino source dir>/cmake/toolchains/mt.runtime.w

* The enabled and tested capabilities of OpenVINO Runtime in a static build:
* OpenVINO common runtime - work with `ov::Model`, perform model loading on particular device
* CPU and GNA inference plugins (**GPU and MYRIAD are not enabled**)
* CPU and GNA inference plugins (**GPU is not enabled**)
* MULTI, HETERO, AUTO, and BATCH inference modes
* IR, ONNX, PDPD, and TF frontends to read `ov::Model`
* Static build support for building static libraries only for OpenVINO Runtime libraries. All other third-party prebuilt dependencies remain in the same format:
Expand Down
2 changes: 1 addition & 1 deletion docs/install_guides/--installing-model-dev-tools.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ OpenVINO Development Tools is a set of utilities that make it easy to develop an

The instructions on this page show how to install OpenVINO Development Tools. If you are a Python developer, it only takes a few simple steps to install the tools with PyPI. If you are developing in C/C++, OpenVINO Runtime must be installed separately before installing OpenVINO Development Tools.

In both cases, Python 3.7 - 3.11 needs to be installed on your machine before starting.
In both cases, Python 3.8 - 3.11 needs to be installed on your machine before starting.

.. note::

Expand Down
2 changes: 1 addition & 1 deletion docs/install_guides/installing-openvino-apt.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@

* `CMake 3.13 or higher, 64-bit <https://cmake.org/download/>`__
* GCC 7.5.0 (for Ubuntu 18.04), GCC 9.3.0 (for Ubuntu 20.04) or GCC 11.3.0 (for Ubuntu 22.04)
* `Python 3.7 - 3.11, 64-bit <https://www.python.org/downloads/>`__
* `Python 3.8 - 3.11, 64-bit <https://www.python.org/downloads/>`__


Installing OpenVINO Runtime
Expand Down
4 changes: 2 additions & 2 deletions docs/install_guides/installing-openvino-brew.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,14 +40,14 @@
* `Homebrew <https://brew.sh/>`_
* `CMake 3.13 or higher, 64-bit <https://cmake.org/download/>`__
* GCC 7.5.0 (for Ubuntu 18.04), GCC 9.3.0 (for Ubuntu 20.04) or GCC 11.3.0 (for Ubuntu 22.04)
* `Python 3.7 - 3.10, 64-bit <https://www.python.org/downloads/>`__
* `Python 3.8 - 3.10, 64-bit <https://www.python.org/downloads/>`__

.. tab-item:: macOS
:sync: macos
* `Homebrew <https://brew.sh/>`_
* `CMake 3.13 or higher <https://cmake.org/download/>`__ (choose "macOS 10.13 or later"). Add ``/Applications/CMake.app/Contents/bin`` to path (for default installation).
* `Python 3.7 - 3.11 <https://www.python.org/downloads/mac-osx/>`__ . Install and add it to path.
* `Python 3.8 - 3.11 <https://www.python.org/downloads/mac-osx/>`__ . Install and add it to path.
* Apple Xcode Command Line Tools. In the terminal, run ``xcode-select --install`` from any directory to install it.
* (Optional) Apple Xcode IDE (not required for OpenVINO™, but useful for development)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@
:sync: software

* `CMake 3.13 or higher, 64-bit <https://cmake.org/download/>`__
* `Python 3.7 - 3.11, 64-bit <https://www.python.org/downloads/>`__
* `Python 3.8 - 3.11, 64-bit <https://www.python.org/downloads/>`__
* GCC:

.. tab-set::
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
:sync: software-requirements

* `CMake 3.13 or higher <https://cmake.org/download/>`__ (choose "macOS 10.13 or later"). Add ``/Applications/CMake.app/Contents/bin`` to path (for default install).
* `Python 3.7 - 3.11 <https://www.python.org/downloads/mac-osx/>`__ (choose 3.7 - 3.11). Install and add to path.
* `Python 3.8 - 3.11 <https://www.python.org/downloads/mac-osx/>`__ (choose 3.8 - 3.11). Install and add to path.
* Apple Xcode Command Line Tools. In the terminal, run ``xcode-select --install`` from any directory
* (Optional) Apple Xcode IDE (not required for OpenVINO™, but useful for development)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ System Requirements

* `Microsoft Visual Studio 2019 with MSBuild <https://visualstudio.microsoft.com/vs/older-downloads/>`__ or `Microsoft Visual Studio 2022 <http://visualstudio.microsoft.com/ downloads/>`__
* `CMake 3.14 or higher, 64-bit <https://cmake.org/download/>`__ (optional, only required for building sample applications)
* `Python 3.7 - 3.11, 64-bit <https://www.python.org/downloads/windows/>`__
* `Python 3.8 - 3.11, 64-bit <https://www.python.org/downloads/windows/>`__

.. note::

Expand Down
2 changes: 1 addition & 1 deletion docs/install_guides/installing-openvino-yum.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@

* `CMake 3.13 or higher, 64-bit <https://cmake.org/download/>`_
* GCC 8.2.0
* `Python 3.7 - 3.11, 64-bit <https://www.python.org/downloads/>`_
* `Python 3.8 - 3.11, 64-bit <https://www.python.org/downloads/>`_


Install OpenVINO Runtime
Expand Down
4 changes: 2 additions & 2 deletions docs/install_guides/pypi-openvino-dev.md
Original file line number Diff line number Diff line change
Expand Up @@ -170,11 +170,11 @@ alias pip='noglob pip'

On Windows*, some libraries are necessary to run OpenVINO. To resolve this issue, install the [C++ redistributable (.exe)](https://aka.ms/vs/17/release/vc_redist.x64.exe). You can also view a full download list on the [official support page](https://docs.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist).

### ImportError: libpython3.7m.so.1.0: cannot open shared object file: No such file or directory
### ImportError: libpython3.8.so.1.0: cannot open shared object file: No such file or directory

To resolve missing external dependency on Ubuntu* 18.04, execute the following command:
```sh
sudo apt-get install libpython3.7
sudo apt-get install libpython3.8
```

## Additional Resources
Expand Down
4 changes: 2 additions & 2 deletions docs/install_guides/pypi-openvino-rt.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,11 +89,11 @@ Users in China might encounter errors while downloading sources via PIP during O

On Windows*, some libraries are necessary to run OpenVINO. To resolve this issue, install the [C++ redistributable (.exe)](https://aka.ms/vs/17/release/vc_redist.x64.exe). You can also view a full download list on the [official support page](https://docs.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist).

### ImportError: libpython3.7m.so.1.0: cannot open shared object file: No such file or directory
### ImportError: libpython3.8.so.1.0: cannot open shared object file: No such file or directory

To resolve missing external dependency on Ubuntu*, execute the following command:
```sh
sudo apt-get install libpython3.7
sudo apt-get install libpython3.8
```

## Additional Resources
Expand Down
Loading

0 comments on commit 7435149

Please sign in to comment.