-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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 RGBToHSV operation for TensorFlow #24792
Comments
I've never contributed to an open source project before (besides fixing typos in documentation), but I do have 2 or 3 years of C++ experience and I've read this repository's contributing.md. Is there anything I still need to do before I assign this to myself and start working? |
@sumwun1 go ahead. The main converting logic is already implemented. You would only need to check how to add new TF FE ops (see Change Files in relevant PR) |
Hi @sumwun1, the task is your yours. Please proceed with execution:) Best regards, |
This has nothing to do with this particular issue, but is there some way to get notifications for every comment that either mentions my username or is a response to my comments? After I posted on this thread, I was able to find it again only because I searched my username in the search bar. |
@rkazants Where can I find documentation for classes like NodeContext or functions like make_shared? Those are the things I was supposed to use for this issue, right? |
Check implementation of Best regards, |
Where's the documentation for ov::frontend::tensorflow::create_same_type_const_scalar? I tried searching Google and Openvino's documentation site and couldn't find it. |
|
@rkazants None of the tests are passing on my computer, even the ones from pull requests that were already merged, which makes me think I accidentally set up pytest wrong. How do I read the test output to see what's wrong? Here's one of the outputs. |
Hi @sumwun1, responded in Discord. Best regards, |
@rkazants This is the fork I've been using for this issue. You can see the progress I've made on there. |
https://drive.google.com/file/d/1te31UzQAmZQCsEkMp1Yi8yKqHTWubZ45/view?usp=sharing |
Hi @sumwun1, I generate
Best regards, |
I got an error saying "CMake Error: The source directory "D:/src" does not appear to contain CMakeLists.txt." (D:/src is the folder that contains my copy of Openvino) Should I put CMakeLists.txt in that folder or somehow make Cmake look for the file in a different folder? I also tried following the Linux build instructions using WSL, and I was unable to run "sudo ./install_build_dependencies.sh" even though the file was in my working directory. How can I fix this? |
.take |
Thank you for looking into this issue! Please let us know if you have any questions or require any help. |
### Details: - Implemented and registered loader for RGBToHSV - Created unit test test_tf_RGBToHSV.py - Slightly modified helper to accept ov::Output<ov::Node> instead of shared_ptr<Node> ### Tickets: - #24792 --------- Co-authored-by: Roman Kazantsev <[email protected]>
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 RGBToHSV operation by OpenVINO, TF FE needs to be extended with this operation support.
What needs to be done?
For RGBToHSV 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_AdjustHue.py
and put it into layer_tests/tensorflow_tests directory. Example how to run some layer test:Example Pull Requests
#24511
Hint
Check this out: #24511
Resources
Contact points
Ticket
No response
The text was updated successfully, but these errors were encountered: