|
|
|
|
@@ -105,6 +105,13 @@ jobs:
|
|
|
|
|
PIP_VER=$(python3 -c "import pip; print(pip.__version__)")
|
|
|
|
|
echo "Using pip version: ${PIP_VER}"
|
|
|
|
|
echo "PIP_CACHE_DIR=${PIP_CACHE_PATH}/${PIP_VER}" >> $GITHUB_ENV
|
|
|
|
|
- name: Get pip cache info
|
|
|
|
|
run: |
|
|
|
|
|
echo "Cache size: "
|
|
|
|
|
du -h -d2 ${PIP_CACHE_DIR}
|
|
|
|
|
echo "Cache info: "
|
|
|
|
|
python -m pip cache info
|
|
|
|
|
continue-on-error: true
|
|
|
|
|
|
|
|
|
|
- name: Install python dependencies
|
|
|
|
|
run: |
|
|
|
|
|
@@ -865,38 +872,9 @@ jobs:
|
|
|
|
|
LAYER_TESTS_INSTALL_DIR: /__w/openvino/openvino/install/tests/layer_tests
|
|
|
|
|
|
|
|
|
|
steps:
|
|
|
|
|
- name: Install git
|
|
|
|
|
run: |
|
|
|
|
|
apt update
|
|
|
|
|
apt install --assume-yes --no-install-recommends git ca-certificates
|
|
|
|
|
|
|
|
|
|
- name: Clone OpenVINO
|
|
|
|
|
uses: actions/checkout@v4
|
|
|
|
|
with:
|
|
|
|
|
path: 'openvino'
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
# Initialize OpenVINO
|
|
|
|
|
#
|
|
|
|
|
|
|
|
|
|
- uses: actions/setup-python@v4
|
|
|
|
|
with:
|
|
|
|
|
python-version: ${{ env.PYTHON_VERSION }}
|
|
|
|
|
|
|
|
|
|
- name: Setup pip cache dir
|
|
|
|
|
run: |
|
|
|
|
|
PIP_VER=$(python3 -c "import pip; print(pip.__version__)")
|
|
|
|
|
echo "Using pip version: ${PIP_VER}"
|
|
|
|
|
echo "PIP_CACHE_DIR=${PIP_CACHE_PATH}/${PIP_VER}" >> $GITHUB_ENV
|
|
|
|
|
|
|
|
|
|
- name: Install Python API tests dependencies
|
|
|
|
|
run: |
|
|
|
|
|
# For torchvision to OpenVINO preprocessing converter
|
|
|
|
|
python3 -m pip install -r ${OPENVINO_REPO}/src/bindings/python/src/openvino/preprocess/torchvision/requirements.txt
|
|
|
|
|
|
|
|
|
|
# TODO: replace with Python API tests requirements
|
|
|
|
|
python3 -m pip install -r ${OPENVINO_REPO}/tools/mo/requirements_dev.txt
|
|
|
|
|
|
|
|
|
|
- name: Download OpenVINO package
|
|
|
|
|
uses: actions/download-artifact@v3
|
|
|
|
|
with:
|
|
|
|
|
@@ -919,6 +897,20 @@ jobs:
|
|
|
|
|
tar -xzf openvino_tests.tar.gz -C ${INSTALL_DIR}
|
|
|
|
|
popd
|
|
|
|
|
|
|
|
|
|
- name: Install 'actions/setup-python@v4' dependencies
|
|
|
|
|
run: apt-get update && apt-get install -y libssl1.1 ca-certificates
|
|
|
|
|
- uses: actions/setup-python@v4
|
|
|
|
|
with:
|
|
|
|
|
python-version: ${{ env.PYTHON_VERSION }}
|
|
|
|
|
env:
|
|
|
|
|
PIP_CACHE_DIR: ${{ env.PIP_CACHE_PATH }}
|
|
|
|
|
- name: Setup pip cache dir
|
|
|
|
|
run: |
|
|
|
|
|
PIP_VER=$(python3 -c "import pip; print(pip.__version__)")
|
|
|
|
|
echo "Using pip version: ${PIP_VER}"
|
|
|
|
|
echo "PIP_CACHE_DIR=${PIP_CACHE_PATH}/${PIP_VER}" >> $GITHUB_ENV
|
|
|
|
|
echo "PIP_INSTALL_PATH=${Python_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages" >> $GITHUB_ENV
|
|
|
|
|
|
|
|
|
|
- name: Install OpenVINO Python wheels
|
|
|
|
|
run: |
|
|
|
|
|
# Install the core OV wheel
|
|
|
|
|
@@ -930,6 +922,14 @@ jobs:
|
|
|
|
|
python3 -m pip install $ov_dev_wheel_name[mxnet,caffe,kaldi,onnx,tensorflow2,pytorch]
|
|
|
|
|
popd
|
|
|
|
|
|
|
|
|
|
- name: Install Python API tests dependencies
|
|
|
|
|
run: |
|
|
|
|
|
# For torchvision to OpenVINO preprocessing converter
|
|
|
|
|
python3 -m pip install -r ${INSTALL_TEST_DIR}/python/preprocess/torchvision/requirements.txt
|
|
|
|
|
|
|
|
|
|
# TODO: replace with Python API tests requirements
|
|
|
|
|
python3 -m pip install -r ${INSTALL_TEST_DIR}/mo/requirements_dev.txt
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
# Tests
|
|
|
|
|
#
|
|
|
|
|
@@ -945,19 +945,10 @@ jobs:
|
|
|
|
|
run: |
|
|
|
|
|
# for 'template' extension
|
|
|
|
|
export LD_LIBRARY_PATH=${INSTALL_TEST_DIR}:$LD_LIBRARY_PATH
|
|
|
|
|
|
|
|
|
|
python3 -m pytest -sv ${INSTALL_TEST_DIR}/pyopenvino \
|
|
|
|
|
--junitxml=${INSTALL_TEST_DIR}/TEST-Pyngraph.xml \
|
|
|
|
|
--ignore=${INSTALL_TEST_DIR}/pyopenvino/tests/test_utils/test_utils.py
|
|
|
|
|
|
|
|
|
|
- name: Docs Python snippets
|
|
|
|
|
run: |
|
|
|
|
|
# to find 'snippets' module in docs
|
|
|
|
|
export PYTHONPATH=${OPENVINO_REPO}/docs/:$PYTHONPATH
|
|
|
|
|
# for 'template' extension
|
|
|
|
|
export LD_LIBRARY_PATH=${INSTALL_TEST_DIR}:$LD_LIBRARY_PATH
|
|
|
|
|
python3 ${OPENVINO_REPO}/docs/snippets/main.py
|
|
|
|
|
|
|
|
|
|
- name: Model Optimizer unit tests
|
|
|
|
|
run: |
|
|
|
|
|
# required for MxNet
|
|
|
|
|
@@ -966,87 +957,26 @@ jobs:
|
|
|
|
|
python3 -m pytest -s ${INSTALL_TEST_DIR}/mo/unit_tests \
|
|
|
|
|
--junitxml=${INSTALL_TEST_DIR}/TEST-ModelOptimizer.xml
|
|
|
|
|
|
|
|
|
|
- name: PyTorch Layer Tests
|
|
|
|
|
run: |
|
|
|
|
|
python3 -m pip install -r ${LAYER_TESTS_INSTALL_DIR}/requirements.txt
|
|
|
|
|
python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/pytorch_tests -m precommit --junitxml=${INSTALL_TEST_DIR}/TEST-pytorch.xml
|
|
|
|
|
env:
|
|
|
|
|
TEST_DEVICE: CPU
|
|
|
|
|
TEST_PRECISION: FP16
|
|
|
|
|
|
|
|
|
|
- name: ONNX Layer Tests
|
|
|
|
|
run: |
|
|
|
|
|
python3 -m pip install -r ${LAYER_TESTS_INSTALL_DIR}/requirements.txt
|
|
|
|
|
# requires 'unit_tests' from 'tools/mo'
|
|
|
|
|
export PYTHONPATH=${OPENVINO_REPO}/tools/mo/:$PYTHONPATH
|
|
|
|
|
python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/onnx_tests -m "not launch_only_if_manually_specified and precommit" --junitxml=${INSTALL_TEST_DIR}/TEST-onnx.xml
|
|
|
|
|
env:
|
|
|
|
|
TEST_DEVICE: CPU
|
|
|
|
|
TEST_PRECISION: FP16
|
|
|
|
|
|
|
|
|
|
- name: TensorFlow 1 Layer Tests - TF FE
|
|
|
|
|
run: |
|
|
|
|
|
python3 -m pip install -r ${LAYER_TESTS_INSTALL_DIR}/requirements.txt
|
|
|
|
|
# requires 'unit_tests' from 'tools/mo'
|
|
|
|
|
export PYTHONPATH=${OPENVINO_REPO}/tools/mo/:$PYTHONPATH
|
|
|
|
|
python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/tensorflow_tests/ --use_new_frontend -m precommit_tf_fe --junitxml=${INSTALL_TEST_DIR}/TEST-tf_fe.xml
|
|
|
|
|
env:
|
|
|
|
|
TEST_DEVICE: CPU
|
|
|
|
|
TEST_PRECISION: FP16
|
|
|
|
|
|
|
|
|
|
- name: TensorFlow 2 Layer Tests - TF FE
|
|
|
|
|
run: |
|
|
|
|
|
python3 -m pip install -r ${LAYER_TESTS_INSTALL_DIR}/requirements.txt
|
|
|
|
|
# requires 'unit_tests' from 'tools/mo'
|
|
|
|
|
export PYTHONPATH=${OPENVINO_REPO}/tools/mo/:$PYTHONPATH
|
|
|
|
|
python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/tensorflow2_keras_tests/ --use_new_frontend -m precommit_tf_fe --junitxml=${INSTALL_TEST_DIR}/TEST-tf2_fe.xml
|
|
|
|
|
env:
|
|
|
|
|
TEST_DEVICE: CPU
|
|
|
|
|
TEST_PRECISION: FP16
|
|
|
|
|
|
|
|
|
|
- name: JAX Layer Tests - TF FE
|
|
|
|
|
run: |
|
|
|
|
|
python3 -m pip install -r ${LAYER_TESTS_INSTALL_DIR}/requirements.txt
|
|
|
|
|
python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/jax_tests/ -m precommit --junitxml=${INSTALL_TEST_DIR}/TEST-jax.xml
|
|
|
|
|
env:
|
|
|
|
|
TEST_DEVICE: CPU
|
|
|
|
|
|
|
|
|
|
- name: TensorFlow 1 Layer Tests - Legacy FE
|
|
|
|
|
run: |
|
|
|
|
|
python3 -m pip install -r ${LAYER_TESTS_INSTALL_DIR}/requirements.txt
|
|
|
|
|
python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/tensorflow_tests/test_tf_Roll.py --ir_version=10 --junitxml=${INSTALL_TEST_DIR}/TEST-tf_Roll.xml
|
|
|
|
|
|
|
|
|
|
- name: TensorFlow 2 Layer Tests - Legacy FE
|
|
|
|
|
run: |
|
|
|
|
|
python3 -m pip install -r ${LAYER_TESTS_INSTALL_DIR}/requirements.txt
|
|
|
|
|
python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/tensorflow2_keras_tests/test_tf2_keras_activation.py \
|
|
|
|
|
--ir_version=11 --junitxml=${INSTALL_TEST_DIR}/TEST-tf2_Activation.xml -k "sigmoid"
|
|
|
|
|
env:
|
|
|
|
|
TEST_DEVICE: CPU
|
|
|
|
|
TEST_PRECISION: FP16
|
|
|
|
|
|
|
|
|
|
- name: TensorFlow Lite Layer Tests - TFL FE
|
|
|
|
|
run: |
|
|
|
|
|
python3 -m pip install -r ${LAYER_TESTS_INSTALL_DIR}/requirements.txt
|
|
|
|
|
python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/tensorflow_lite_tests/ --junitxml=${INSTALL_TEST_DIR}/TEST-tfl_fe.xml
|
|
|
|
|
env:
|
|
|
|
|
TEST_DEVICE: CPU
|
|
|
|
|
TEST_PRECISION: FP16
|
|
|
|
|
|
|
|
|
|
- name: Python ONNX operators tests
|
|
|
|
|
run: |
|
|
|
|
|
# Skip test_onnx/test_zoo_models and test_onnx/test_backend due to long execution time - ONNX Model Zoo tests are run separately
|
|
|
|
|
python3 -m pytest -sv ${OPENVINO_REPO}/src/frontends/onnx/tests -k 'not cuda' \
|
|
|
|
|
python3 -m pytest -sv ${INSTALL_TEST_DIR}/onnx -k 'not cuda' \
|
|
|
|
|
--junitxml=${INSTALL_TEST_DIR}/TEST-onnx_frontend.xml \
|
|
|
|
|
--ignore=${OPENVINO_REPO}/src/frontends/onnx/tests/test_python/test_zoo_models.py
|
|
|
|
|
--ignore=${INSTALL_TEST_DIR}/onnx/test_python/test_zoo_models.py \
|
|
|
|
|
|
|
|
|
|
- name: OVC unit tests
|
|
|
|
|
run: python3 -m pytest -s ${INSTALL_TEST_DIR}/ovc/unit_tests --junitxml=${INSTALL_TEST_DIR}/TEST-OpenVinoConversion.xml
|
|
|
|
|
|
|
|
|
|
- name: Install Python Layer tests dependencies
|
|
|
|
|
run: |
|
|
|
|
|
# layer test requirements
|
|
|
|
|
python3 -m pip install -r ${LAYER_TESTS_INSTALL_DIR}/requirements.txt
|
|
|
|
|
|
|
|
|
|
- name: MO Python API Tests
|
|
|
|
|
run: |
|
|
|
|
|
python3 -m pip install -r ${LAYER_TESTS_INSTALL_DIR}/requirements.txt
|
|
|
|
|
# TODO: remove setupvars.sh from here; currently, it's used for 'test_utils' installed in '<package>/python/openvino'
|
|
|
|
|
source ${INSTALL_DIR}/setupvars.sh
|
|
|
|
|
bash ${INSTALL_DIR}/install_dependencies/install_openvino_dependencies.sh -c=core -y
|
|
|
|
|
|
|
|
|
|
# Import 'test_utils' installed in '<package_test>/tests/python/openvino'
|
|
|
|
|
export LD_LIBRARY_PATH=${PIP_INSTALL_PATH}/openvino/libs:$LD_LIBRARY_PATH
|
|
|
|
|
export PYTHONPATH=${INSTALL_TEST_DIR}/python
|
|
|
|
|
python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/mo_python_api_tests --junitxml=${INSTALL_TEST_DIR}/TEST-test_mo_convert.xml
|
|
|
|
|
env:
|
|
|
|
|
TEST_DEVICE: CPU
|
|
|
|
|
@@ -1054,11 +984,9 @@ jobs:
|
|
|
|
|
|
|
|
|
|
- name: OVC Python API Tests
|
|
|
|
|
run: |
|
|
|
|
|
python3 -m pip install -r ${LAYER_TESTS_INSTALL_DIR}/requirements.txt
|
|
|
|
|
# TODO: remove setupvars.sh from here; currently, it's used for 'test_utils' installed in '<package>/python/openvino'
|
|
|
|
|
source ${INSTALL_DIR}/setupvars.sh
|
|
|
|
|
bash ${INSTALL_DIR}/install_dependencies/install_openvino_dependencies.sh -c=core -y
|
|
|
|
|
|
|
|
|
|
# Import 'test_utils' installed in '<package_test>/tests/python/openvino'
|
|
|
|
|
export PYTHONPATH=${INSTALL_TEST_DIR}/python
|
|
|
|
|
export LD_LIBRARY_PATH=${PIP_INSTALL_PATH}/openvino/libs:$LD_LIBRARY_PATH
|
|
|
|
|
python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/ovc_python_api_tests --junitxml=${INSTALL_TEST_DIR}/TEST-test_ovc_convert.xml
|
|
|
|
|
env:
|
|
|
|
|
TEST_DEVICE: CPU
|
|
|
|
|
@@ -1066,15 +994,77 @@ jobs:
|
|
|
|
|
|
|
|
|
|
- name: Python Frontend tests
|
|
|
|
|
run: |
|
|
|
|
|
python3 -m pip install -r ${LAYER_TESTS_INSTALL_DIR}/requirements.txt
|
|
|
|
|
# to allow 'libtest_builtin_extensions.so' to find 'libopenvino_onnx_frontend.so'
|
|
|
|
|
source ${INSTALL_DIR}/setupvars.sh
|
|
|
|
|
|
|
|
|
|
export LD_LIBRARY_PATH=${PIP_INSTALL_PATH}/openvino/libs:$LD_LIBRARY_PATH
|
|
|
|
|
python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/py_frontend_tests --junitxml=${INSTALL_TEST_DIR}/TEST-test_py_fontend.xml
|
|
|
|
|
|
|
|
|
|
# TODO: install to 'tests' component via cpack
|
|
|
|
|
- name: OVC unit tests
|
|
|
|
|
run: python3 -m pytest -s ${OPENVINO_REPO}/tools/ovc/unit_tests --junitxml=${INSTALL_TEST_DIR}/TEST-OpenVinoConversion.xml
|
|
|
|
|
- name: PyTorch Layer Tests
|
|
|
|
|
run: python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/pytorch_tests -m precommit --junitxml=${INSTALL_TEST_DIR}/TEST-pytorch.xml
|
|
|
|
|
env:
|
|
|
|
|
TEST_DEVICE: CPU
|
|
|
|
|
TEST_PRECISION: FP16
|
|
|
|
|
|
|
|
|
|
- name: ONNX Layer Tests
|
|
|
|
|
run: |
|
|
|
|
|
# requires 'unit_tests' from 'tools/mo'
|
|
|
|
|
export PYTHONPATH=${INSTALL_TEST_DIR}/mo:$PYTHONPATH
|
|
|
|
|
python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/onnx_tests -m "not launch_only_if_manually_specified and precommit" --junitxml=${INSTALL_TEST_DIR}/TEST-onnx.xml
|
|
|
|
|
env:
|
|
|
|
|
TEST_DEVICE: CPU
|
|
|
|
|
TEST_PRECISION: FP16
|
|
|
|
|
|
|
|
|
|
- name: TensorFlow 1 Layer Tests - TF FE
|
|
|
|
|
run: |
|
|
|
|
|
# requires 'unit_tests' from 'mo'
|
|
|
|
|
export PYTHONPATH=${INSTALL_TEST_DIR}/mo
|
|
|
|
|
python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/tensorflow_tests/ --use_new_frontend -m precommit_tf_fe --junitxml=${INSTALL_TEST_DIR}/TEST-tf_fe.xml
|
|
|
|
|
env:
|
|
|
|
|
TEST_DEVICE: CPU
|
|
|
|
|
TEST_PRECISION: FP16
|
|
|
|
|
|
|
|
|
|
- name: TensorFlow 2 Layer Tests - TF FE
|
|
|
|
|
run: |
|
|
|
|
|
# requires 'unit_tests' from 'mo'
|
|
|
|
|
export PYTHONPATH=${INSTALL_TEST_DIR}/mo
|
|
|
|
|
python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/tensorflow2_keras_tests/ --use_new_frontend -m precommit_tf_fe --junitxml=${INSTALL_TEST_DIR}/TEST-tf2_fe.xml
|
|
|
|
|
env:
|
|
|
|
|
TEST_DEVICE: CPU
|
|
|
|
|
TEST_PRECISION: FP16
|
|
|
|
|
|
|
|
|
|
- name: JAX Layer Tests - TF FE
|
|
|
|
|
run: python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/jax_tests/ -m precommit --junitxml=${INSTALL_TEST_DIR}/TEST-jax.xml
|
|
|
|
|
env:
|
|
|
|
|
TEST_DEVICE: CPU
|
|
|
|
|
|
|
|
|
|
- name: TensorFlow 1 Layer Tests - Legacy FE
|
|
|
|
|
run: python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/tensorflow_tests/test_tf_Roll.py --ir_version=10 --junitxml=${INSTALL_TEST_DIR}/TEST-tf_Roll.xml
|
|
|
|
|
|
|
|
|
|
- name: TensorFlow 2 Layer Tests - Legacy FE
|
|
|
|
|
run: python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/tensorflow2_keras_tests/test_tf2_keras_activation.py --ir_version=11 -k "sigmoid" --junitxml=${INSTALL_TEST_DIR}/TEST-tf2_Activation.xml
|
|
|
|
|
env:
|
|
|
|
|
TEST_DEVICE: CPU
|
|
|
|
|
TEST_PRECISION: FP16
|
|
|
|
|
|
|
|
|
|
- name: TensorFlow Lite Layer Tests - TFL FE
|
|
|
|
|
run: python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/tensorflow_lite_tests/ --junitxml=${INSTALL_TEST_DIR}/TEST-tfl_fe.xml
|
|
|
|
|
env:
|
|
|
|
|
TEST_DEVICE: CPU
|
|
|
|
|
TEST_PRECISION: FP16
|
|
|
|
|
|
|
|
|
|
- name: Clone API snippets
|
|
|
|
|
uses: actions/checkout@v4
|
|
|
|
|
with:
|
|
|
|
|
sparse-checkout: openvino/docs/snippets
|
|
|
|
|
path: ${{ env.OPENVINO_REPO }}
|
|
|
|
|
submodules: 'false'
|
|
|
|
|
|
|
|
|
|
- name: Docs Python snippets
|
|
|
|
|
run: |
|
|
|
|
|
# to find 'snippets' module in docs
|
|
|
|
|
export PYTHONPATH=${OPENVINO_REPO}/docs
|
|
|
|
|
# for 'template' extension
|
|
|
|
|
export LD_LIBRARY_PATH=${INSTALL_TEST_DIR}:$LD_LIBRARY_PATH
|
|
|
|
|
python3 ${OPENVINO_REPO}/docs/snippets/main.py
|
|
|
|
|
|
|
|
|
|
- name: Upload Test Results
|
|
|
|
|
uses: actions/upload-artifact@v3
|
|
|
|
|
|