openvinotoolkit/openvino

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

Open

#24,649 创建于 2024年5月23日

在 GitHub 查看
 (17 评论) (0 反应) (1 负责人)C++ (3,229 fork)auto 404
good first issueno_stale

仓库指标

Star
 (10,286 star)
PR 合并指标
 (平均合并 14天 3小时) (30 天内合并 305 个 PR)

描述

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

贡献者指南