Skip to content
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]: Align behavior of ONNX Frontend operator ReduceProd-11, 13, 18 with original framework #20558

Open
gkrivor opened this issue Oct 18, 2023 · 18 comments
Labels
category: ONNX FE OpenVINO ONNX FrontEnd good first issue Good for newcomers no_stale Do not mark as stale ONNX Related to support for ONNX standard.

Comments

@gkrivor
Copy link
Contributor

gkrivor commented Oct 18, 2023

Context

Neural networks are graphs consisting of nodes called operators. Each operator corresponds to a mathematical function, usually described in framework's documentation or an AI standard, such as ONNX.
OpenVINO ONNX Frontend is a component responsible for working with ONNX graphs and requires implementation of different ONNX operators in order to use ONNX models.
This task requires alignment between OpenVINO ONNX Frontend and original framework implementations of ReduceProd for next list of opsets: opset 11, opset 13, opset 18
Necessary help will be provided by ONNX Fronted team.

What needs to be done?

First of all, please, take a look on ReduceMax PR for a reference.

Operator details can be found in ONNX Operators
More details can be found in ONNX Changelog: opset 11, opset 13, opset 18

  1. Operator already has a common implementation in OpenVINO. First of all, you need to review a documentation and prepare a table with differences between versions. It could be, for instance, a missing property, extended/reduced coverage of existing property, etc...
  2. Copy existing implementation here to make it aligned with original framework (extend or reduce coverage of a common implementation). Copy of modified implementation should be in a defined opset, or in opset 1 in case it implements oldest implementation. Example of multi-opset operation.
  3. Register the function in ops_bridge.cpp while keeping alphabetical order
  4. Create test model(s) in ONNX models directory. OpenVINO test infrastructure then converts prototxt files to ONNX models - you will use those models later in tests
  5. Add tests covering all use cases here
  6. Check Python xfailed tests to find a test marked as a xfailed for added functionality. If any exist - remove corresponding lines and try to verify by using cmdline "python -m pytest -k name_of_test".
    More details in adding operators to ONNX Frontend guide

Example Pull Requests

No response

Resources

Contact points

@gkrivor

Ticket

No response

@gkrivor gkrivor added good first issue Good for newcomers category: ONNX FE OpenVINO ONNX FrontEnd no_stale Do not mark as stale labels Oct 18, 2023
@github-project-automation github-project-automation bot moved this to Contrubutors needed in Good first issues Oct 18, 2023
@mlukasze mlukasze added the ONNX Related to support for ONNX standard. label Oct 26, 2023
@PulkitGarg777
Copy link

.take

Copy link
Contributor

github-actions bot commented Jan 9, 2024

Thank you for looking into this issue! Please let us know if you have any questions or require any help.

@ilya-lavrenov ilya-lavrenov moved this from Contributors Needed to Assigned in Good first issues Jan 9, 2024
@p-wysocki
Copy link
Contributor

Hi @PulkitGarg777, can we help you somehow?

@PulkitGarg777
Copy link

Hi @p-wysocki, sorry for not looking into it, been kinda busy. I've seen similar issues. I'll study them and if i get stuck somewhere, I'll surely let you know. Thank you for reaching out :)

@p-wysocki
Copy link
Contributor

Hi @PulkitGarg777, are you still on that issue or can we reassign it to other contributors?

@PulkitGarg777
Copy link

You can reassign this issue, been busy with other work, my apologies

@mlukasze
Copy link
Contributor

mlukasze commented Feb 6, 2024

No worries, check us out in more convenient moment for you, we will wait :)
I will reassign this ticket, but there will be more to train on.

@mlukasze mlukasze moved this from Assigned to Contributors Needed in Good first issues Feb 6, 2024
@abhilashw
Copy link

.take

Copy link
Contributor

github-actions bot commented Feb 7, 2024

Thank you for looking into this issue! Please let us know if you have any questions or require any help.

@mlukasze mlukasze moved this from Contributors Needed to Assigned in Good first issues Feb 8, 2024
@abhilashw
Copy link

Below are the differences between opset1 and opset11, opset13, opset18
image

@mlukasze
Copy link
Contributor

mlukasze commented Feb 9, 2024

@gkrivor take a look, please

@p-wysocki
Copy link
Contributor

cc @gkrivor

@andrei-kochin
Copy link
Contributor

@abhilashw so you have identified the difference
Are you going to implement the code changes to have a generic implementation or do you need any additional feedback?

@abhilashw
Copy link

@andrei-kochin I was waiting for @gkrivor to provide feedback.
Yeah I have made some changes to code. Working on adding testcases

@gkrivor
Copy link
Contributor Author

gkrivor commented Jul 26, 2024

@abhilashw hi, do you have any progress or I can take this task and complete?

@gkrivor gkrivor moved this from Assigned to Contributors Needed in Good first issues Aug 5, 2024
@gkrivor
Copy link
Contributor Author

gkrivor commented Aug 5, 2024

.take

Copy link
Contributor

github-actions bot commented Aug 5, 2024

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.

@mlukasze mlukasze moved this from Contributors Needed to Assigned in Good first issues Aug 5, 2024
@mlukasze mlukasze moved this from Assigned to Contributors Needed in Good first issues Sep 18, 2024
@hub-bla
Copy link
Contributor

hub-bla commented Sep 26, 2024

@mlukasze, @gkrivor, this one also #25875

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category: ONNX FE OpenVINO ONNX FrontEnd good first issue Good for newcomers no_stale Do not mark as stale ONNX Related to support for ONNX standard.
Projects
Status: Contributors Needed
Development

No branches or pull requests

7 participants