Skip to content
This repository was archived by the owner on May 29, 2023. It is now read-only.

Commit 12d4fe5

Browse files
authored
OpenVINO 2022.1 (#37)
1 parent 4fd2091 commit 12d4fe5

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+1045
-2029
lines changed

.github/workflows/main.yml

+54-23
Original file line numberDiff line numberDiff line change
@@ -11,43 +11,58 @@ on:
1111
branches: [ master ]
1212

1313
env:
14-
OPENVINO_VERSION: 2021.4.2
15-
VERSION: 2021.4.2.5
16-
DIST_VERSION: 2021.4.752
17-
DIST_WIN: https://registrationcenter-download.intel.com/akdlm/irc_nas/18320/w_openvino_toolkit_p_2021.4.752.exe
18-
DIST_MAC: https://registrationcenter-download.intel.com/akdlm/irc_nas/18317/m_openvino_toolkit_p_2021.4.752.dmg
14+
OPENVINO_VERSION: 2022.1.0
15+
OPENCV_VERSION: 4.5.5
16+
VERSION: 2022.1.0.dev3
17+
DIST_WIN: https://registrationcenter-download.intel.com/akdlm/irc_nas/18618/w_openvino_toolkit_p_2022.1.0.643_offline.exe
18+
DIST_MAC: https://registrationcenter-download.intel.com/akdlm/irc_nas/18616/m_openvino_toolkit_p_2022.1.0.643_offline.dmg
1919

2020
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
2121
jobs:
2222
build_lnx:
2323
runs-on: ubuntu-18.04
2424
container:
25-
centos:centos7.6.1810
25+
centos:centos8.4.2105
2626

2727
steps:
2828
- uses: actions/checkout@v2
2929

3030
- name: Install dependencies
3131
run: |
32-
yum install -y python3 wget
33-
yum group install -y "Development Tools"
32+
dnf -y --disablerepo '*' --enablerepo=extras swap centos-linux-repos centos-stream-repos
33+
dnf -y distro-sync
34+
yum group install -y "Development Tools" --nobest
35+
yum install -y python3 wget cmake
3436
python3 -m pip install --upgrade pip
35-
wget -q https://github.com/Kitware/CMake/releases/download/v3.20.2/cmake-3.20.2-linux-x86_64.tar.gz
36-
tar -xf cmake-3.20.2-linux-x86_64.tar.gz
3737
3838
- name: Install OpenVINO
3939
run: |
40-
yum install -y yum-utils
41-
yum-config-manager --add-repo https://yum.repos.intel.com/openvino/2021/setup/intel-openvino-2021.repo
42-
rpm --import https://yum.repos.intel.com/openvino/2021/setup/RPM-GPG-KEY-INTEL-OPENVINO-2021
43-
yum install -y intel-openvino-runtime-centos7-${{env.DIST_VERSION}}.x86_64
40+
tee > /tmp/openvino-2022.repo << EOF
41+
[OpenVINO]
42+
name=Intel(R) Distribution of OpenVINO 2022
43+
baseurl=https://yum.repos.intel.com/openvino/2022
44+
enabled=1
45+
gpgcheck=1
46+
repo_gpgcheck=1
47+
gpgkey=https://yum.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
48+
EOF
49+
mv /tmp/openvino-2022.repo /etc/yum.repos.d
50+
yum repolist | grep -i openvino
51+
yum install -y yum-utils openvino-2022.1.0
52+
53+
- name: Build OpenCV
54+
run: |
55+
git clone https://github.com/opencv/opencv/ -b ${{env.OPENCV_VERSION}} --depth 1
56+
mkdir opencv_build && cd opencv_build
57+
cmake ../opencv -DCMAKE_BUILD_TYPE=Release -DBUILD_LIST=core
58+
make -j$(nproc --all) install
4459
4560
- name: Build CPU extensions
4661
run: |
47-
source /opt/intel/openvino_2021/bin/setupvars.sh
62+
source /opt/intel/openvino_2022/setupvars.sh
4863
cd user_ie_extensions
4964
mkdir build && cd build
50-
../../cmake-3.20.2-linux-x86_64/bin/cmake .. -DCMAKE_BUILD_TYPE=Release
65+
cmake .. -DCMAKE_BUILD_TYPE=Release
5166
make -j$(nproc --all)
5267
5368
- name: Build wheel
@@ -69,16 +84,25 @@ jobs:
6984

7085
- name: Install OpenVINO
7186
run: |
72-
curl ${{env.DIST_WIN}} -o openvino.exe
73-
start /WAIT openvino.exe --s --a install --eula=accept --output=log.txt
87+
Invoke-WebRequest ${{env.DIST_WIN}} -OutFile openvino.exe
88+
Start-Process -Wait -FilePath "openvino.exe" -ArgumentList "-s -a --silent --eula accept"
89+
shell: pwsh
90+
91+
- name: Build OpenCV
92+
run: |
93+
git clone https://github.com/opencv/opencv/ -b ${{env.OPENCV_VERSION}} --depth 1
94+
mkdir opencv_build && cd opencv_build
95+
cmake ..\\opencv -DCMAKE_BUILD_TYPE=Release -DBUILD_LIST=core
96+
cmake --build . --config Release -j 2
97+
cmake --install . --prefix "C:\opencv_install"
7498
shell: cmd
7599

76100
- name: Build CPU extensions
77101
run: |
78-
call "C:\Program Files (x86)\Intel\openvino_2021\bin\setupvars.bat"
102+
call "C:\Program Files (x86)\Intel\openvino_2022\setupvars.bat"
79103
cd user_ie_extensions
80104
mkdir build && cd build
81-
cmake .. -DCMAKE_BUILD_TYPE=Release
105+
cmake .. -DOpenCV_DIR="C:\opencv_install"
82106
cmake --build . --config Release -j 2
83107
shell: cmd
84108

@@ -107,12 +131,19 @@ jobs:
107131
run: |
108132
curl ${{env.DIST_MAC}} -o openvino.dmg
109133
hdiutil attach openvino.dmg
110-
cd /Volumes/m_openvino_toolkit_p_${{env.DIST_VERSION}}/m_openvino_toolkit_p_${{env.DIST_VERSION}}.app/Contents/MacOS/
111-
sudo ./install.sh -s silent.cfg --accept_eula
134+
cd /Volumes/m_openvino_toolkit_p_2022.1.0.643_offline/bootstrapper.app/Contents/MacOS/
135+
sudo ./install.sh -s --eula=accept
136+
137+
- name: Build OpenCV
138+
run: |
139+
git clone https://github.com/opencv/opencv/ -b ${{env.OPENCV_VERSION}} --depth 1
140+
mkdir opencv_build && cd opencv_build
141+
cmake ../opencv -DCMAKE_BUILD_TYPE=Release -DBUILD_LIST=core
142+
make -j$(nproc --all) install
112143
113144
- name: Build CPU extensions
114145
run: |
115-
source /opt/intel/openvino_2021/bin/setupvars.sh
146+
source /opt/intel/openvino_2022/setupvars.sh
116147
cd user_ie_extensions
117148
mkdir build && cd build
118149
cmake .. -DCMAKE_BUILD_TYPE=Release

README.md

+7-10
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,14 @@ Repository with guides to enable some layers from PyTorch in Intel OpenVINO:
1414
To create OpenVINO IR, use extra `--extension` flag to specify a path to Model Optimizer extensions that perform graph transformations and register custom layers.
1515

1616
```bash
17-
python3 /opt/intel/openvino/deployment_tools/model_optimizer/mo_onnx.py \
18-
--input_model model.onnx \
19-
--extension openvino_pytorch_layers/mo_extensions
17+
mo --input_model model.onnx --extension openvino_pytorch_layers/mo_extensions
2018
```
2119

2220
## Custom CPU extensions
2321

2422
You also need to build CPU extensions library which actually has C++ layers implementations:
2523
```bash
26-
source /opt/intel/openvino/bin/setupvars.sh
27-
export TBB_DIR=/opt/intel/openvino/deployment_tools/inference_engine/external/tbb/cmake/
24+
source /opt/intel/openvino_2022/setupvars.sh
2825

2926
cd user_ie_extensions
3027
mkdir build && cd build
@@ -34,11 +31,11 @@ cmake .. -DCMAKE_BUILD_TYPE=Release && make -j$(nproc --all)
3431
Add compiled extensions library to your project:
3532

3633
```python
37-
from openvino.inference_engine import IECore
34+
from openvino.runtime import Core
3835

39-
ie = IECore()
40-
ie.add_extension('user_ie_extensions/build/libuser_cpu_extension.so', 'CPU')
36+
core = Core()
37+
core.add_extension('user_ie_extensions/build/libuser_cpu_extension.so')
4138

42-
net = ie.read_network('model.xml', 'model.bin')
43-
exec_net = ie.load_network(net, 'CPU')
39+
model = ie.read_model('model.xml')
40+
compiled_model = ie.compile_model(model, 'CPU')
4441
```

examples/calculate_grid/calculate_grid.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
class CalculateGrid(torch.autograd.Function):
66
@staticmethod
77
def symbolic(g, in_positions):
8-
return g.op("org.open3d::calculate_grid", in_positions)
8+
return g.op("CalculateGrid", in_positions)
99

1010
@staticmethod
1111
def forward(self, in_positions):

examples/fft/fft.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,7 @@ def symbolic(g, x, inverse, centered, dims):
4848
dims = torch.tensor(dims)
4949
dims = g.op("Constant", value_t=dims)
5050

51-
return g.op('IFFT' if inverse else 'FFT', x, dims,
52-
inverse_i=inverse, centered_i=centered)
51+
return g.op('FFT', x, dims, inverse_i=inverse, centered_i=centered)
5352

5453
@staticmethod
5554
def forward(self, x, inverse, centered, dims):

examples/sparse_conv/sparse_conv.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ def symbolic(g, cls, feat, in_pos, out_pos, voxel_size):
1010
offset = cls.state_dict()["offset"]
1111
kernel = g.op("Constant", value_t=kernel)
1212
offset = g.op("Constant", value_t=offset)
13-
return g.op("org.open3d::SparseConv", feat, in_pos, out_pos, kernel, offset)
13+
return g.op("SparseConv", feat, in_pos, out_pos, kernel, offset)
1414

1515
@staticmethod
1616
def forward(self, cls, feat, in_pos, out_pos, voxel_size):
@@ -36,7 +36,7 @@ def symbolic(g, cls, feat, in_pos, out_pos, voxel_size):
3636
offset = cls.state_dict()["offset"]
3737
kernel = g.op("Constant", value_t=kernel)
3838
offset = g.op("Constant", value_t=offset)
39-
return g.op("org.open3d::SparseConvTranspose", feat, in_pos, out_pos, kernel, offset)
39+
return g.op("SparseConvTranspose", feat, in_pos, out_pos, kernel, offset)
4040

4141
@staticmethod
4242
def forward(self, cls, feat, in_pos, out_pos, voxel_size):

mo_extensions/front/onnx/complex_mul_ext.py

-13
This file was deleted.

mo_extensions/front/onnx/fft_ext.py

-33
This file was deleted.

mo_extensions/front/onnx/grid_sample_ext.py

-12
This file was deleted.

mo_extensions/front/onnx/max_unpool.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
# mo_extensions/front/onnx/max_unpool.py
22
import numpy as np
33

4-
from mo.front.common.replacement import FrontReplacementSubgraph
5-
from mo.graph.graph import Graph
4+
from openvino.tools.mo.front.common.replacement import FrontReplacementSubgraph
5+
from openvino.tools.mo.graph.graph import Graph
66
from mo_extensions.ops.MaxPoolGrad import MaxPoolGrad
7-
from mo.front.onnx.extractors.utils import onnx_attr
7+
from openvino.tools.mo.front.onnx.extractors.utils import onnx_attr
88

99
class MaxUnpool(FrontReplacementSubgraph):
1010
enabled = True

mo_extensions/ops/ComplexMultiplication.py

-25
This file was deleted.

mo_extensions/ops/FFT.py

-45
This file was deleted.

mo_extensions/ops/GridSample.py

-23
This file was deleted.

mo_extensions/ops/MaxPoolGrad.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# mo_extensions/ops/MaxPoolGrad.py
22
import numpy as np
3-
from mo.graph.graph import Node, Graph
4-
from mo.ops.op import Op
3+
from openvino.tools.mo.graph.graph import Node, Graph
4+
from openvino.tools.mo.ops.op import Op
55

66
def shape_infer(node):
77
# Inputs: [max_pool_input, max_pool_output, unpool_input, shape]

0 commit comments

Comments
 (0)