Open
Description
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
- Create
.hpp
and.cpp
files for *Windows here - 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.
- Register the function in ops_bridge.cpp while keeping alphabetical order
- 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
- Add tests covering all use cases here
- 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
- ONNX Unique op support #15076
- ONNX CastLike operator tests #14936
- [ONNX FE] Extend ONNX FE for operation GenerateProposals #12510
- [ONNX] Extend ONNX Frontend with BlackmanWindow, HammingWindow and HannWindow operators #19428
Resources
- Contribution guide - start here!
- What is OpenVINO?
- Contribution guide
- User documentation
- Guides on ONNX Frontend architecture and ONNX Frontend tests are also available
- You can also see a blog post on contributing to OpenVINO
Contact points
Ticket
No response
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
In Review