openvinotoolkit/openvino

[Good First Issue]: Extend ONNX Frontend with `DeformConv` operator

Open

#24.649 aberto em 23 de mai. de 2024

Ver no GitHub
 (17 comments) (0 reactions) (1 assignee)C++ (3.229 forks)auto 404
good first issueno_stale

Métricas do repositório

Stars
 (10.286 stars)
Métricas de merge de PR
 (Mesclagem média 14d 3h) (305 fundiu PRs em 30d)

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. Usually the operator is already implemented in OpenVINO and ONNX Frontend serves as an API translation layer.

This task requires extending OpenVINO ONNX Frontend with DeformConv-19 operator.

Necessary help will be provided by ONNX Fronted team.

What needs to be done?

  1. Create .hpp and .cpp files for DeformConv here
  2. Prepare an implementation of this operator in form of a function. It should be placed in opset 1 namespace. You can use the implementation of standard ONNX Pad operator as a reference
  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

More details on adding operators to ONNX Frontend guide

Note: Since the only difference between DeformConv19 and DeformConv22 is new datatype, maybe ONNX can be expanded with both in the same PR?

Example Pull Requests

Resources

Contact points

@gkrivor @p-wysocki @mitruska

Ticket

CVS-119903

Guia do colaborador