openvinotoolkit / openvino

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

[Good First Issue]: Extend ONNX Frontend with BitwiseAnd-18 operator #20790

Closed mitruska closed 10 months ago

mitruska commented 12 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 BitwiseAnd operator, using the existing ov::op::v13::BitwiseAnd.

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 here
  2. Prepare an implementation of this operator in form of a function, bitwise_and should be placed in opset 1 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

@mitruska @gkrivor @p-wysocki

Ticket

118969

rghvsh commented 10 months ago

Hi! @mitruska I would like to work on this project may I get started?

mitruska commented 10 months ago

Hello @rghvsh! Sure, thank you for looking into this issue, it is assigned to you now:) Please let us know if you have any questions or need help.

💡 Hint for the future, you can also assign the tasks to yourself by commenting ".take" in the issue.

rghvsh commented 10 months ago

PR #21585