Files
openvino/.ci/azure/mac.yml
Evgenya Stepyreva 0513a79a79 Tensorflow Lite frontend (#14977)
* Infrastructure for tflite

* Removed submodule flatbuffers

* Added flatbuffers submodule. Fixed version to v22.12.06 aka acf39ff

* Move headers back

* Flatbuffers integration

* Small fixes

* Started parsing the Model

* flatbuffer changes

* decoder_flatbuffer changes

* Lite Input Model -- not needed as of now but looks cool

* Rolled back inherritance from ov::frontend::tensorflow::InputModel

* Results are not treated as outputs, but its ok

* Fix missplaced input vs output

* Refactor

* Load model op-by-op. Frontend API finalized

* Debugging still, there are prints here and there. Decoder is not sane

* Convolution with all attributes is translated and quantization is applied for inputs and constatants. TODO: quantize intermediate tensors, separate decoder specific logic?

* Float ssd and posenet models are showing good accuracy

* Need to refactor but work flawlessly

* Telemetry and lightweight model cutting

* Code style and test changes. Extensions supported

* Quantization and style

* Style refinements

* Move onednn back

* New portion of operations enabled

* TFLite FE doesn't inherrit TF FE

* Moved files to another directory

* Rename header op_table.hpp to common_op_table.hpp for all files in src/frontends/tensorflow_common/src/op/

* Removed visability macroses

* CMake changes

* Unit-test execution in .ci

* Update labeler.yml

* Codeowners

* Style check and fix

* Static Build arrangement

* Addressing the comments

* install common headers to previous place

* New approach with public decoder and graph_iterator

* New approach with public decoder and graph_iterator

* Move GraphIterator back

* Comments addressed

* Comments adressed

* Preliminary TF FE README.md changes

* Added target_compile_definitions OPENVINO_STATIC_LIBRARY for static build

* Fixed conflicts and added TF to common places

* Frontends use only openvino::core::dev API

* Merged common tensorflow changes and made code build and work on selective number of models

* Style

* Rollback unnecessary changes from Tensorflow FE

* Rollback unnecessary changes from Tensorflow Common

* Minor refactor

* cmake minor refactoring

* Mixed commit

* Style and merge fix

* Low hanging fruit operations

* Fix windows build

* Refactor quantization parameters representation

* license compliance. approved by OS PDT

* copyrights in generic file

* dependabot

* labeler

* Unit Test to be triggered in CI

* cmake variables naming. corrected copyright years in copyrights/generic file

* library renamed in .ci/ calls

* Copyright year update

* Set openvino-tf-frontend-maintainers as owner of /src/frontends/tensorflow_lite/

* Fixed flatc corss-compilation

* Cleaned flatbuffers header usage

* Nitpicks solved

* Update cmake/templates/OpenVINOConfig.cmake.in

* Compile with flatbuffers headers

* Fixed "which is prefixed in the source directory"

* Fixed typo in flatbuffers cmake

* Removed flatbuffers submodule

* Added fork submodule

* Fixed static build

* Fixed cross-compilatio

* Fixed -Wshadow warning

* Fixed warning on Windows

* Use only headers from flatbuffers library

* Added LTO and fixed compilation errors on Windows

* Fixed warnings in tensorflow_common

* Move ctors implementation to cpp file

* Added information about new frontends to common FEm part

* Temporaryily disable warnings

* Fixed code style using clang-format

* Fixed Windows

* reverted changes in onnx

* Revert changes in onnx_common

* Removed pragma once frm cpp

Co-authored-by: missjane <estepyreva@gmail.com>
Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2023-01-27 06:27:59 +04:00

244 lines
6.8 KiB
YAML

trigger:
branches:
include:
- master
- 'releases/*'
paths:
exclude:
- '*/docs/*'
- 'docs/*'
- '*/*.md'
- '*.md'
- '*/layer_tests_summary/*'
- '*/conformance/*'
- 'tests/layer_tests/*'
pr:
drafts: 'false'
branches:
include:
- 'master'
- 'releases/*'
paths:
exclude:
- '*/docs/*'
- 'docs/*'
- '*/*.md'
- '*.md'
- '*/layer_tests_summary/*'
- '*/conformance/*'
- 'tests/layer_tests/*'
resources:
repositories:
- repository: openvino_contrib
type: github
endpoint: openvinotoolkit
name: openvinotoolkit/openvino_contrib
ref: master
- repository: testdata
type: github
endpoint: openvinotoolkit
name: openvinotoolkit/testdata
ref: master
variables:
- group: github
jobs:
- job: Mac
# About 250% of total time (perfomace of Mac hosts is unstable, 360 is max)
timeoutInMinutes: '360'
pool:
vmImage: 'macOS-11'
variables:
system.debug: true
VSTS_HTTP_RETRY: 5
VSTS_HTTP_TIMEOUT: 200
BUILD_TYPE: Release
REPO_DIR: $(Build.Repository.LocalPath)
OPENVINO_CONTRIB_REPO_DIR: $(REPO_DIR)/../openvino_contrib
MODELS_PATH: $(REPO_DIR)/../testdata
WORK_DIR: $(Pipeline.Workspace)/_w
BUILD_DIR: $(WORK_DIR)/build
INSTALL_DIR: $(WORK_DIR)/install_pkg
INSTALL_TEST_DIR: $(INSTALL_DIR)/tests
SETUPVARS: $(INSTALL_DIR)/setupvars.sh
TMP_DIR: /tmp
CCACHE_DIR: $(WORK_DIR)/ccache/mac
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '3.10'
addToPath: true
architecture: 'x64'
githubToken: $(auth_token)
displayName: Setup Python 3.10
name: setupPython
- script: |
whoami
uname -a
echo Python3 info ; which python3 ; python3 --version
echo Python info ; which python ; python --version
echo Java info ; which java ; java -version
echo gcc info ; which gcc ; gcc --version
echo cmake info ; which cmake ; cmake --version
xcrun --sdk macosx --show-sdk-version
env
sysctl -a
displayName: 'System info'
- script: |
rm -rf $(WORK_DIR) ; mkdir $(WORK_DIR)
rm -rf $(BUILD_DIR) ; mkdir $(BUILD_DIR)
displayName: 'Make dir'
- checkout: self
clean: 'true'
fetchDepth: '1'
submodules: 'true'
path: openvino
- checkout: openvino_contrib
clean: 'true'
fetchDepth: '1'
submodules: 'true'
path: openvino_contrib
- checkout: testdata
clean: 'true'
fetchDepth: '1'
lfs: 'true'
path: testdata
- task: UsePythonVersion@0
inputs:
versionSpec: '3.10'
- script: |
brew install cython
brew install automake
python3 -m pip install -r $(REPO_DIR)/src/frontends/onnx/tests/requirements.txt
# Speed up build
brew install ninja ccache
displayName: 'Install dependencies'
- script: |
export PATH="/usr/local/opt/cython/bin:$PATH"
cmake -GNinja \
-DENABLE_CPPLINT=OFF \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DCMAKE_BUILD_TYPE=$(BUILD_TYPE) \
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON \
-DENABLE_PYTHON=ON \
-DENABLE_STRICT_DEPENDENCIES=OFF \
-DOPENVINO_EXTRA_MODULES=$(OPENVINO_CONTRIB_REPO_DIR)/modules \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
-DBUILD_nvidia_plugin=OFF \
-S $(REPO_DIR) \
-B $(BUILD_DIR)
env:
CC: gcc
CXX: g++
displayName: 'CMake OpenVINO'
- script: ls -alR $(REPO_DIR)/temp/
displayName: 'List temp SDKs'
- task: Cache@2
inputs:
key: 'ccache | "$(Agent.OS)"'
path: $(CCACHE_DIR)
restoreKeys: |
ccache | "$(Agent.OS)"
displayName: Cache
enabled: 'false'
- script: ccache --zero-stats --max-size=10G --show-config
displayName: 'Clean ccache stats'
- script: cmake --build $(BUILD_DIR) --parallel --config $(BUILD_TYPE)
env:
CCACHE_DIR: $(CCACHE_DIR)
CCACHE_TEMPDIR: $(TMP_DIR)/ccache
CCACHE_BASEDIR: $(Pipeline.Workspace)
CCACHE_MAXSIZE: 10G
displayName: 'Build Mac'
- script: ccache --show-stats
displayName: 'Show ccache stats'
- script: ls -alR $(REPO_DIR)/bin/
displayName: 'List bin files'
- script: cmake -DCMAKE_INSTALL_PREFIX=$(INSTALL_DIR) -P $(BUILD_DIR)/cmake_install.cmake
displayName: 'Install'
- script: ls -alR $(INSTALL_DIR)
displayName: 'List install files'
- script: cmake -DCMAKE_INSTALL_PREFIX=$(INSTALL_DIR) -DCOMPONENT=tests -P $(BUILD_DIR)/cmake_install.cmake
displayName: 'Install tests'
- script: ls -alR $(INSTALL_DIR)
displayName: 'List install files'
- script: . $(SETUPVARS) && $(INSTALL_TEST_DIR)/ov_core_unit_tests --gtest_print_time=1 --gtest_filter=-*IE_GPU* --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-NGraphUT.xml
displayName: 'OV Core UT'
enabled: 'false'
- script: . $(SETUPVARS) && $(INSTALL_TEST_DIR)/ov_ir_frontend_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-IRFrontend.xml
displayName: 'IR Frontend Tests'
enabled: 'false'
- script: . $(SETUPVARS) && $(INSTALL_TEST_DIR)/ov_onnx_frontend_tests --gtest_print_time=1 --gtest_filter=-*IE_GPU*--gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ONNXFrontend.xml
displayName: 'ONNX Frontend Tests'
enabled: 'false'
- script: . $(SETUPVARS) && $(INSTALL_TEST_DIR)/ov_cpu_unit_tests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ov_cpu_unit_tests.xml
displayName: 'Intel CPU Unit Tests'
enabled: 'false'
- script: . $(SETUPVARS) && $(INSTALL_TEST_DIR)/ieMultiPluginUnitTests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ieMultiPluginUnitTests.xml
displayName: 'MULTI UT'
enabled: 'false'
- script: . $(SETUPVARS) && $(INSTALL_TEST_DIR)/ov_cpu_func_tests --gtest_filter=*smoke* --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ov_cpu_func_tests.xml
displayName: 'CPU FuncTests'
enabled: 'false'
- script: |
. $(SETUPVARS) && $(INSTALL_TEST_DIR)/InferenceEngineCAPITests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-InferenceEngineCAPITests.xml
env:
DATA_PATH: $(MODELS_PATH)
MODELS_PATH: $(MODELS_PATH)
displayName: 'IE CAPITests'
enabled: 'false'
- script: |
. $(SETUPVARS) && $(INSTALL_TEST_DIR)/ov_capi_test --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ov_capi_test.xml
env:
DATA_PATH: $(MODELS_PATH)
MODELS_PATH: $(MODELS_PATH)
displayName: 'IE CAPITests'
enabled: 'false'
- task: PublishTestResults@2
condition: always()
inputs:
testResultsFormat: 'JUnit' # Options: JUnit, NUnit, VSTest, xUnit, cTest
testResultsFiles: '**/TEST-*.xml'
#searchFolder: '$(BUILD_DIR)'
mergeTestResults: false # Optional
#failTaskOnFailedTests: false # Optional
#testRunTitle: 'Pre/Post-Commit' # Optional
buildPlatform: 'x64' # Optional
buildConfiguration: 'Mac' # Optional
#publishRunAttachments: true # Optional