Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add preliminary support of OpenVINO as Keras 3 backend (#19727)
* [POC][OV] Support OpenVINO as Keras 3 backend Signed-off-by: Kazantsev, Roman <[email protected]> * Mark all unsupported ops from numpy space Signed-off-by: Kazantsev, Roman <[email protected]> * Mark unsupported ops in core, image, and linalg spaces Signed-off-by: Kazantsev, Roman <[email protected]> * Mark unsupported ops in math, nn, random, and rnn spaces Signed-off-by: Kazantsev, Roman <[email protected]> * Fix sorting imports Signed-off-by: Kazantsev, Roman <[email protected]> * Format imports Signed-off-by: Kazantsev, Roman <[email protected]> * Fix sorting imports Signed-off-by: Kazantsev, Roman <[email protected]> * Fix sorting imports Signed-off-by: Kazantsev, Roman <[email protected]> * Fix inference Signed-off-by: Kazantsev, Roman <[email protected]> * Remove openvino specific code in common part Signed-off-by: Kazantsev, Roman <[email protected]> * Fix typo * Clean-up code Signed-off-by: Kazantsev, Roman <[email protected]> * Recover imports Signed-off-by: Kazantsev, Roman <[email protected]> * Sort imports properly Signed-off-by: Kazantsev, Roman <[email protected]> * Format source code Signed-off-by: Kazantsev, Roman <[email protected]> * Format the rest of source code Signed-off-by: Kazantsev, Roman <[email protected]> * Continue format adjustment Signed-off-by: Kazantsev, Roman <[email protected]> * Add OpenVINO dependency Signed-off-by: Kazantsev, Roman <[email protected]> * Fix inference using OV backend Signed-off-by: Kazantsev, Roman <[email protected]> * Support bert_base_en_uncased and mobilenet_v3_small from Keras Hub Signed-off-by: Kazantsev, Roman <[email protected]> * Remove extra openvino specific code from layer.py Signed-off-by: Kazantsev, Roman <[email protected]> * Apply code-style formatting Signed-off-by: Kazantsev, Roman <[email protected]> * Apply code-style formatting Signed-off-by: Kazantsev, Roman <[email protected]> * Fix remained code-style issue Signed-off-by: Kazantsev, Roman <[email protected]> * Run tests for OpenVINO backend in GHA Signed-off-by: Kazantsev, Roman <[email protected]> * Add config file for openvino backend validation Signed-off-by: Kazantsev, Roman <[email protected]> * Add import test for openvino backend Signed-off-by: Kazantsev, Roman <[email protected]> * Fix error in import_test.py Signed-off-by: Kazantsev, Roman <[email protected]> * Add import_test for openvino backend Signed-off-by: Kazantsev, Roman <[email protected]> * Add openvino specific integration tests in GHA Signed-off-by: Kazantsev, Roman <[email protected]> * Exclude coverage for OpenVINO Signed-off-by: Kazantsev, Roman <[email protected]> * remove coverage for openvino backend Signed-off-by: Kazantsev, Roman <[email protected]> * Try layer tests for openvino backend Signed-off-by: Kazantsev, Roman <[email protected]> * Run layer tests for openvino backend selectively Signed-off-by: Kazantsev, Roman <[email protected]> * Mark enabled tests for openvino backend in a different way Signed-off-by: Kazantsev, Roman <[email protected]> * Update .github/workflows/actions.yml * Fix import for BackendVariable Signed-off-by: Kazantsev, Roman <[email protected]> * Fix errors in layer tests for openvino backend Signed-off-by: Kazantsev, Roman <[email protected]> * Add test for Elu via openvino backend Signed-off-by: Kazantsev, Roman <[email protected]> * Fix sorted imports Signed-off-by: Kazantsev, Roman <[email protected]> * Extend testing for attention Signed-off-by: Kazantsev, Roman <[email protected]> * Update keras/src/layers/attention/attention_test.py * Switch on activation tests for openvino backend Signed-off-by: Kazantsev, Roman <[email protected]> * Switch on attention tests for openvino backend Signed-off-by: Kazantsev, Roman <[email protected]> * Update keras/src/layers/attention/additive_attention_test.py * Update keras/src/layers/attention/grouped_query_attention_test.py * Run conv tests for openvino backend Signed-off-by: Kazantsev, Roman <[email protected]> * Fix convolution in openvino backend Signed-off-by: Kazantsev, Roman <[email protected]> * Work around constant creation for tuple Signed-off-by: Kazantsev, Roman <[email protected]> * Work around constant creation in reshape Signed-off-by: Kazantsev, Roman <[email protected]> * Run depthwise conv tests for openvino backend Signed-off-by: Kazantsev, Roman <[email protected]> * Fix get_ov_output for other x types Signed-off-by: Kazantsev, Roman <[email protected]> * Fix elu translation Signed-off-by: Kazantsev, Roman <[email protected]> * Fix softmax and log_softmax for None axis Signed-off-by: Kazantsev, Roman <[email protected]> * Run nn tests for openvino backend Signed-off-by: Kazantsev, Roman <[email protected]> * Fix numpy operations for axis to be None Signed-off-by: Kazantsev, Roman <[email protected]> * Run operation_test for openvino_backend Signed-off-by: Kazantsev, Roman <[email protected]> * Switch on math_test for openvino backend Signed-off-by: Kazantsev, Roman <[email protected]> * Switch on image tests for openvino backend Signed-off-by: Kazantsev, Roman <[email protected]> * Switch on linalg test for openvino backend Signed-off-by: Kazantsev, Roman <[email protected]> * Extend OpenVINOKerasTensor with new built-in methods and fix shape op Signed-off-by: Kazantsev, Roman <[email protected]> * Switch on core tests for openvino backend Signed-off-by: Kazantsev, Roman <[email protected]> * Use different way of OpenVINO model creation that supports call method Signed-off-by: Kazantsev, Roman <[email protected]> * Unify integration test for openvino Signed-off-by: Kazantsev, Roman <[email protected]> * Support new operations abs, mod, etc. Signed-off-by: Kazantsev, Roman <[email protected]> * Add support for more operations like squeeze, max Signed-off-by: Kazantsev, Roman <[email protected]> * Try to use excluded test files list Signed-off-by: Kazantsev, Roman <[email protected]> * Apply formatting for normalization_test.py Signed-off-by: Kazantsev, Roman <[email protected]> * Correct GHA yml file Signed-off-by: Kazantsev, Roman <[email protected]> * Test that openvino backend is used Signed-off-by: Kazantsev, Roman <[email protected]> * Revert testing change in excluded test files list Signed-off-by: Kazantsev, Roman <[email protected]> * Include testing group Signed-off-by: Kazantsev, Roman <[email protected]> * Include legacy test group Signed-off-by: Kazantsev, Roman <[email protected]> * Exclude legacy group of tests Signed-off-by: Kazantsev, Roman <[email protected]> * Include initializers tests Signed-off-by: Kazantsev, Roman <[email protected]> * Skip tests for initializers group Signed-off-by: Kazantsev, Roman <[email protected]> * Remove export test group from ignore Signed-off-by: Kazantsev, Roman <[email protected]> * Include dtype_policies test group Signed-off-by: Kazantsev, Roman <[email protected]> * Reduce ignored tests Signed-off-by: Kazantsev, Roman <[email protected]> * Fix ops.cast Signed-off-by: Kazantsev, Roman <[email protected]> * Add decorator for custom_gradient Signed-off-by: Kazantsev, Roman <[email protected]> * Shorten line in custom_gradient Signed-off-by: Kazantsev, Roman <[email protected]> * Ignore dtype_policy_map test Signed-off-by: Kazantsev, Roman <[email protected]> * Include callback tests Signed-off-by: Kazantsev, Roman <[email protected]> * Switch on backend tests Signed-off-by: Kazantsev, Roman <[email protected]> * Exclude failing tests Signed-off-by: Kazantsev, Roman <[email protected]> * Correct paths to excluded tests Signed-off-by: Kazantsev, Roman <[email protected]> * Switch on some layers tests Signed-off-by: Kazantsev, Roman <[email protected]> * Remove pytest.mark.openvino_backend Signed-off-by: Kazantsev, Roman <[email protected]> * Register mark requires_trainable_backend Signed-off-by: Kazantsev, Roman <[email protected]> * Ignore test files in a different way Signed-off-by: Kazantsev, Roman <[email protected]> * Try different way to ignore test files Signed-off-by: Kazantsev, Roman <[email protected]> * Fix GHA yml Signed-off-by: Kazantsev, Roman <[email protected]> * Support tuple axis for logsumexp Signed-off-by: Kazantsev, Roman <[email protected]> * Switch on some ops tests Signed-off-by: Kazantsev, Roman <[email protected]> * Switch on some callbacks tests Signed-off-by: Kazantsev, Roman <[email protected]> * Add openvino export Signed-off-by: Kazantsev, Roman <[email protected]> * Update sklearn tests Signed-off-by: Kazantsev, Roman <[email protected]> * Add a comment to skipp numerical_test Signed-off-by: Kazantsev, Roman <[email protected]> * Add custom requirements file for OpenVINO Signed-off-by: Kazantsev, Roman <[email protected]> * Add reqs of openvino installation for api changes check Signed-off-by: Kazantsev, Roman <[email protected]> * Fix types of Variables and switch on some variables tests Signed-off-by: Kazantsev, Roman <[email protected]> * Fix nightly code check Signed-off-by: Kazantsev, Roman <[email protected]> --------- Signed-off-by: Kazantsev, Roman <[email protected]>
- Loading branch information