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
[Good First Issue][TF FE]: Support MatrixInverse operation for TensorFlow #22957
Comments
.take |
Thank you for looking into this issue! Please let us know if you have any questions or require any help. |
Hello @rkazants , I will be working on this issue. Let me know if you have any comments or suggestions ! |
Hi @koookieee, any update on the task? Best regards, |
.take |
Thanks for being interested in this issue. It looks like this ticket is already assigned to a contributor. Please communicate with the assigned contributor to confirm the status of the issue. |
No update for long time, I have to release this task. Best regards, |
.take |
Thank you for looking into this issue! Please let us know if you have any questions or require any help. |
Hello @rkazants, I've built OpenVINO locally, does this mean I can start coding and contributing? OpenVINO is a software toolkit, compared to other simpler applications, it's hard to have a direct visual of what is going on there, hence it is easier for developers to know what to do next. So I wonder if I'm on the right track : ) |
Hi @hongbo-wei, Now you need to implement translator for TF MatrixInverse to OV opset Inverse. Please check: https://docs.openvino.ai/2024/documentation/openvino-ir-format/operation-sets/operation-specs/matrix/Inverse_14.html Should be simple translator. Check translators for other operations and description above. Best regards, |
Hello, Roman @rkazants, I want to build OpenVINO runtime to test my contributed program, and I follow the instructions in Mac (ARM). In the second last step, I run In the last step I encountered an error that says
I then set the environment path for CMake using the right path to protobuf, but the build system still cannot find it
I also asked in Intel Community. I'm so happy I'm moving closer to complete my Good First Issue. |
Correct path of
|
This pull request adds support for the TensorFlow "**MatrixInverse**" operation to OpenVINO's TensorFlow Frontend (TF FE). It implements a new loader function translate_matrix_inverse_op that translates the TensorFlow operation into the equivalent OpenVINO Inverse operation (from opset-14) for both real-valued and complex-valued inputs. Addresses issue: #[22957](#22957) Hi Roman @rkazants, could you please review my work, thank you! --------- Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>
…kit#23881) This pull request adds support for the TensorFlow "**MatrixInverse**" operation to OpenVINO's TensorFlow Frontend (TF FE). It implements a new loader function translate_matrix_inverse_op that translates the TensorFlow operation into the equivalent OpenVINO Inverse operation (from opset-14) for both real-valued and complex-valued inputs. Addresses issue: #[22957](openvinotoolkit#22957) Hi Roman @rkazants, could you please review my work, thank you! --------- Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>
Context
OpenVINO component responsible for support of TensorFlow models is called as TensorFlow Frontend (TF FE). TF FE converts a model represented in TensorFlow opset to a model in OpenVINO opset.
In order to infer TensorFlow models with MatrixInverse operation by OpenVINO, TF FE needs to be extended with this operation support.
What needs to be done?
For MatrixInverse operation support, you need to implement the corresponding loader into TF FE op directory and to register it into the dictionary of Loaders. One loader is responsible for conversion (or decomposition) of one type of TensorFlow operation.
Here is an example of loader implementation for TensorFlow
Einsum
operation:In this example,
translate_einsum_op
converts TFEinsum
into OVEinsum
.NodeContext
object passed into the loader packs all info about inputs and attributes ofEinsum
operation. The loader retrieves an attribute of the equation by using theNodeContext::get_attribute()
method, prepares input vector, createsEinsum
operation from OV opset and returns a vector of outputs.Responsibility of a loader is to parse operation attributes, prepare inputs and express TF operation via OV operations sub-graph. Example for
Einsum
demonstrates the resulted sub-graph with one operation. In PR #19007 you can see operation decomposition into multiple node sub-graph.Once you are done with implementation of the translator, you need to implement the corresponding layer tests
test_tf_MatrixInverse.py
and put it into layer_tests/tensorflow_tests directory. Example how to run some layer test:Hint
Use newly added operation Inverse into OV opset-14
Example Pull Requests
Resources
Contact points
Ticket
No response
The text was updated successfully, but these errors were encountered: