-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
NGraph FrontEnd Manager - Basic API #5470
Conversation
Added Mock frontend for unit testing
ngraph/frontend/generic/include/frontend_manager/frontend_manager.hpp
Outdated
Show resolved
Hide resolved
ngraph/frontend/generic/include/frontend_manager/frontend_manager.hpp
Outdated
Show resolved
Hide resolved
ngraph/frontend/generic/include/frontend_manager/frontend_manager.hpp
Outdated
Show resolved
Hide resolved
ngraph/frontend/generic/include/frontend_manager/frontend_manager_defs.hpp
Outdated
Show resolved
Hide resolved
bc2907c
to
fa893d3
Compare
Introduced environment variable OV_FRONTEND_PATH for frontend paths
More code coverage
In case of unset or empty OV_FRONTENT_PATH - load plugins from current working directory
ngraph/frontend/generic/include/frontend_manager/frontend_manager.hpp
Outdated
Show resolved
Hide resolved
ngraph/frontend/generic/include/frontend_manager/frontend_manager.hpp
Outdated
Show resolved
Hide resolved
Add clang format target for frontend_manager and mock frontend plugin
ngraph/frontend/frontend_manager/include/frontend_manager/frontend_manager.hpp
Outdated
Show resolved
Hide resolved
ngraph/frontend/frontend_manager/include/frontend_manager/frontend_manager.hpp
Outdated
Show resolved
Hide resolved
About frontend API, we had a long discussion with @slyalin and we need to have this PR in the master in order to unblock development of PDPD and ONNX frontends and get additional feedback from guys who will develop these frontends. Moreover I have some comments/concerns about the current API:
@slyalin Please correct me if I forgot anything. Moreover I highly recommend to split |
This part is done |
Exposing Python API for nGraph FrontEndManager introduced in PR openvinotoolkit#5470
Exposing Python API for nGraph FrontEndManager introduced in PR openvinotoolkit#5470
* NGraph - FrontEndManager - common API Added Mock frontend for unit testing * Comment out installation rules * Fixed review comment Introduced environment variable OV_FRONTEND_PATH for frontend paths * Additional cmake cleanup * More fixes of cmakelists * Changing template file name for frontends * Changed copyrights * Reuse ngraph-utils for file-related operations * Correct of frontend file extension for macos More code coverage * Renamed all methods to according to ngraph-style In case of unset or empty OV_FRONTENT_PATH - load plugins from current working directory * Fix review comments Add clang format target for frontend_manager and mock frontend plugin * Update docs for FrontEndCapabilities * Use constants for flags instead of 'enum' * clang style fix * Fix comment: using namespace ngraph... * Fix comment: use replace "frontend_manager" with ${TARGET_NAME} in CMakeLists.txt * Comment fix: rename 'generic' folder to 'frontend_manager' * Update documentation comments * Set FrontEndManager class as 'final' * Apply review comments * renamed get_place_by_name_and... to get_place_by_operation_name_and... * Separated frontend_manager.hpp into 4 header files
* [NG Frontend] Introduce classes and macros for Frontend-specific exceptions * [nGraph Frontend] Python bindings Exposing Python API for nGraph FrontEndManager introduced in PR #5470 * [nGraph Frontend] Python bindings Exposing Python API for nGraph FrontEndManager introduced in PR #5470 * Added docs + moved sources to 'pyngraph/frontend' * Fix issues after rebase * Fix clang * Moving ngraph/python/tests_cpp to ngraph/python/tests/mock * Fix cmakelists-related comments * Apply review comments * Added dots to docstrings * Cmake - Set target properties for ARCHIVE/PDB/COMPILE_PDB as well as for LIBRARY_OUTPUT_DIRECTORY
* [NG Frontend] Introduce classes and macros for Frontend-specific exceptions * [nGraph Frontend] Python bindings Exposing Python API for nGraph FrontEndManager introduced in PR #5470 * Exposing 'Dimension' class to Python nGraph API * Model optimizer code from pdpd_frontend Removed 'use_legacy_frontend' option as not needed for PDPD integration * Added XML/BIN prints for 'ngraph-FE' serialization path * Update python bindings to latest code from PR #5995 * Add OV_FRONTEND_PATH to LD_LIBRARY_PATH by default for Model Optimizer * Test with 'mock' frontend * Added meta info to generated IR Added more tests to cover currently supported scenarios Clang config for MO mock frontend * some flake8 and pylint fixes * Try to 'import' ngraph-related packages on top of python files This will help to specify type of function arguments, but can break unit tests if they're using functions directly without ngraph * CI fixes * Run tests from 'main_test.py' inside ngraph environment * Fixed review comments * Fixed comments Added more tests for checking if inputs and outputs are same * Renamed front_ng to moc_frontend * Update package_BOM.txt
* NGraph - FrontEndManager - common API Added Mock frontend for unit testing * Comment out installation rules * Fixed review comment Introduced environment variable OV_FRONTEND_PATH for frontend paths * Additional cmake cleanup * More fixes of cmakelists * Changing template file name for frontends * Changed copyrights * Reuse ngraph-utils for file-related operations * Correct of frontend file extension for macos More code coverage * Renamed all methods to according to ngraph-style In case of unset or empty OV_FRONTENT_PATH - load plugins from current working directory * Fix review comments Add clang format target for frontend_manager and mock frontend plugin * Update docs for FrontEndCapabilities * Use constants for flags instead of 'enum' * clang style fix * Fix comment: using namespace ngraph... * Fix comment: use replace "frontend_manager" with ${TARGET_NAME} in CMakeLists.txt * Comment fix: rename 'generic' folder to 'frontend_manager' * Update documentation comments * Set FrontEndManager class as 'final' * Apply review comments * renamed get_place_by_name_and... to get_place_by_operation_name_and... * Separated frontend_manager.hpp into 4 header files
…oolkit#5995) * [NG Frontend] Introduce classes and macros for Frontend-specific exceptions * [nGraph Frontend] Python bindings Exposing Python API for nGraph FrontEndManager introduced in PR openvinotoolkit#5470 * [nGraph Frontend] Python bindings Exposing Python API for nGraph FrontEndManager introduced in PR openvinotoolkit#5470 * Added docs + moved sources to 'pyngraph/frontend' * Fix issues after rebase * Fix clang * Moving ngraph/python/tests_cpp to ngraph/python/tests/mock * Fix cmakelists-related comments * Apply review comments * Added dots to docstrings * Cmake - Set target properties for ARCHIVE/PDB/COMPILE_PDB as well as for LIBRARY_OUTPUT_DIRECTORY
* [NG Frontend] Introduce classes and macros for Frontend-specific exceptions * [nGraph Frontend] Python bindings Exposing Python API for nGraph FrontEndManager introduced in PR openvinotoolkit#5470 * Exposing 'Dimension' class to Python nGraph API * Model optimizer code from pdpd_frontend Removed 'use_legacy_frontend' option as not needed for PDPD integration * Added XML/BIN prints for 'ngraph-FE' serialization path * Update python bindings to latest code from PR openvinotoolkit#5995 * Add OV_FRONTEND_PATH to LD_LIBRARY_PATH by default for Model Optimizer * Test with 'mock' frontend * Added meta info to generated IR Added more tests to cover currently supported scenarios Clang config for MO mock frontend * some flake8 and pylint fixes * Try to 'import' ngraph-related packages on top of python files This will help to specify type of function arguments, but can break unit tests if they're using functions directly without ngraph * CI fixes * Run tests from 'main_test.py' inside ngraph environment * Fixed review comments * Fixed comments Added more tests for checking if inputs and outputs are same * Renamed front_ng to moc_frontend * Update package_BOM.txt
* [NG Frontend] Introduce classes and macros for Frontend-specific exceptions * [nGraph Frontend] Python bindings Exposing Python API for nGraph FrontEndManager introduced in PR openvinotoolkit#5470 * Exposing 'Dimension' class to Python nGraph API * Model optimizer code from pdpd_frontend Removed 'use_legacy_frontend' option as not needed for PDPD integration * Added XML/BIN prints for 'ngraph-FE' serialization path * Update python bindings to latest code from PR openvinotoolkit#5995 * Add OV_FRONTEND_PATH to LD_LIBRARY_PATH by default for Model Optimizer * Test with 'mock' frontend * Added meta info to generated IR Added more tests to cover currently supported scenarios Clang config for MO mock frontend * some flake8 and pylint fixes * Try to 'import' ngraph-related packages on top of python files This will help to specify type of function arguments, but can break unit tests if they're using functions directly without ngraph * CI fixes * Run tests from 'main_test.py' inside ngraph environment * Fixed review comments * Fixed comments Added more tests for checking if inputs and outputs are same * Renamed front_ng to moc_frontend * Update package_BOM.txt
Details:
Tickets: