openvinotoolkit / openvino

OpenVINO™ is an open-source toolkit for optimizing and deploying AI inference
https://docs.openvino.ai
Apache License 2.0
6.82k stars 2.17k forks source link

[Good First Issue]: Extend ONNX Frontend with Function SoftmaxCrossEntropyLoss #20547

Open gkrivor opened 11 months ago

gkrivor commented 11 months ago

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 extending OpenVINO ONNX Frontend with Function SoftmaxCrossEntropyLoss.
Necessary help will be provided by ONNX Fronted team.

What needs to be done?

Operator details can be found in ONNX Operators More details can be found in ONNX Changelog

  1. Create .hpp and .cpp files for *Windows here
  2. Prepare an implementation of this operator in form of a function. SoftmaxCrossEntropyLoss-12 should be placed in opset 1 namespace. SoftmaxCrossEntropyLoss-13 should be placed in opset 13 namespace.
  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

Resources

Contact points

@gkrivor

Ticket

No response

sydarb commented 9 months ago

.take

github-actions[bot] commented 9 months ago

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

p-wysocki commented 9 months ago

Hello @sydarb! Thank you for taking a look, please let us know if you have any questions. Just yesterday our CONTRIBUTING.md has been updated with a technical guide - I highly recommend checking it out. :)

p-wysocki commented 8 months ago

Hello @sydarb, are you still working on this issue?

I am happy to announce that we have created a channel dedicated to Good First Issues support on our Intel DevHub Discord server! Join it to receive support, engage in discussions, ask questions and talk to OpenVINO developers.

tanishka321 commented 8 months ago

.take

github-actions[bot] commented 8 months ago

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

p-wysocki commented 7 months ago

Hello @tanishka321, can we help you with anything?

mitruska commented 7 months ago

Hello @tanishka321, thank you for your contribution! I've reviewed the PR #22650, unfortunately the proposed solution is not working yet. Please take a look at the latest review comments.

@gkrivor As ONNX SoftmaxCrossEntropyLoss is training related operator, I would suggest to verify it's applicability for custom decomposition in OpenVINO ONNX FE.

mlukasze commented 5 months ago

hey @tanishka321 will you work on this ticket? Or maybe you don't have time and we should move it back for other person?

kshitij01042002 commented 5 months ago

Hi @mlukasze if the current assignee isn't working on the issue, can I take it up?

mlukasze commented 5 months ago

moving to you @kshitij01042002, have fun :)

kshitij01042002 commented 4 months ago

Hi @mlukasze I am working on this issue, sorry I was caught up with my academics and was not able to do it. Also there was a request can you please look into the mail sent by @PRATHAM-SPS. It was needed on an urgent basis.

cc: @p-wysocki