-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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 Bincount operation for TensorFlow Hub models #22071
Comments
Hello @rkazants , I would like to contribute to this program. Can you please assign me this task. ? |
Fyi, please use new link to join Intel DevHub Discord server, if you have not yet joined. The previous one is outdated. Best regards, |
Hi @TheNobody-12, do you have any update on this task? Please let me know in case questions and you can create a preliminary PR to discuss. Best regards, |
Hi @TheNobody-12, any update on this task? |
If possible i require some guidance, how i should start working on this issue? |
hi @rkazants I'm a beginner excited to contribute. I'm looking to solve issue can you assign to me. and can you help me if I stuck with any problem |
Hi @ViswanathBalla22, sorry but task has been already assigned. Please track new (available) good first issues in OpenVINO. We try to post new GFIs almost every day. Best regards, |
Hi @TheNobody-12, try to start with completing the first two steps of the hint in the ticket description and post PR with these changes so I will check and give the next guidance. You can see PR with example for another operation: #19007 Best regards, |
Hi @ViswanathBalla22, here is the task that just gets available: #22082. |
ok @rkazants ,I can assign that issue. and btw can you provide any community channel or discord for this project |
hey @ViswanathBalla22 |
Hello @ViswanathBalla22, are you still working on that issue? |
assign it to me so I can work on this issue |
as you wish @Aryan8912 :) |
Hi @Aryan8912, any progress on it? |
sorry sir for the late reply I am traveling, give me one or two days, and I will submit a PR |
Hi @Aryan8912, I return this GFI to available status since no update. |
Hi developers, I'd like to take this one! |
be our guest, have fun, it's yours now :) |
Hi, developers I'm still work in progress, following some example code and I want to check if my implementation works so far, I added a test case (
(but I can run other test cases) here is the diff(implementation is still incomplete, and I just want to make sure test case works: I'm using a intel mac and my compile command is
python version is 3.11, and I reinstalled wheels after rebuild, did I miss anything updateit seems the wheel is not rebuilt(timestamp shows it's not updated), i'll clean and rebuild and see if it works cool, seems so, just delete wheels and regenerate one fixed this. |
PR sent: #23418 |
### Details: - implemented Bincount op - simple test cases ### Tickets: #22071 --------- Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>
### Details: - implemented Bincount op - simple test cases ### Tickets: openvinotoolkit#22071 --------- Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>
### Details: - implemented Bincount op - simple test cases ### Tickets: openvinotoolkit#22071 --------- 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 Hub models with Bincount operation by OpenVINO, TF FE needs to be extended with this operation support.
We have a couple of models from TF Hub containing this operation:
What needs to be done?
For Bincount 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_Bincount.py
and put it into layer_tests/tensorflow_tests directory. Example how to run some layer test:Hint
Bincount
operation requires decomposition using OV opset. The following idea is proposed to use for the decomposition but you may implement your more elegant and performance efficient idea:range
tensor [0, size) usingRange
operationarr
andweights
to 1D tensorsrange
to [size, 1] shape and unsqueezearr
andweights
to shapes[1, num]
range == arr
where to set0
or weight fromweights
tensorExample Pull Requests
Resources
Contact points
@openvinotoolkit/openvino-tf-frontend-maintainers
The text was updated successfully, but these errors were encountered: