Skip to content

Help Wanted: Implementing ONNX Ops #1714

Open
@antimora

Description

@antimora

The Burn community would greatly appreciate your help in completing the missing ONNX operations in the burn-import crate. By contributing to this effort, you can help expand the functionality and usability of Burn for a wider range of machine learning models.

List of Missing Ops (Available in Burn but not in burn-import)

Top Requested Ops

  • Expand
  • Tile (dependent on #1715)
  • Slice

Relatively Easy Ops (Similar to Existing Implemented Ops)

  • And
  • ArgMin
  • ArgMax
  • Attention
  • AveragePool1d
  • BitShift
  • BitwiseAnd
  • BitwiseNot
  • BitwiseOr
  • BitwiseXor
  • Ceil
  • ConvTranspose1d
  • EyeLike
  • Floort
  • Gather
  • Greater
  • GreaterOrEqual
  • Less
  • LessOrEqual
  • Max
  • MaxPool1d
  • Mean
  • Min
  • NonZero
  • Not
  • Or
  • PRelu
  • Pad
  • Range
  • ReduceMin
  • ReduceProd
  • ReduceSum
  • Round
  • Scatter
  • Size
  • Squeeze
  • Sum
  • TopK
  • Trilu
  • XOr
  • IsNaN
  • Bernoulli

Harder Ops (Not Similar to Existing Implemented Ops)

  • GRU
  • GroupNormalization
  • If (dependent on #724)
  • InstanceNormalization
  • LSTM
  • MatMulInteger
  • OneHot
  • RNN
  • RandomNormal
  • RandomNormalLike
  • RandomUniform
  • RandomUniformLike
  • Resize

For a comprehensive list of all supported ONNX Ops, please refer to the SUPPORTED-ONNX-OPS.md file in the Burn repository.

Getting Started

To begin contributing, please follow the instructions in the contributor book:

# Build the book and open in a browser from the project root
cargo xtask books contributor open

Once the book is built, navigate to http://localhost:3011/guides/onnx-to-burn-conversion-tool.html for detailed guidance on how to implement missing ONNX operations in the burn-import crate.

Related Issues Submitted by Users

Several users have submitted issues related to missing ONNX operations. These issues can provide valuable context and help prioritize the implementation of specific ops:

  1. Issue #1593
  2. Issue #1560
  3. Issue #1544
  4. Issue #675
  5. Issue #673
  6. Issue #600
  7. Issue #510

By tackling these missing ops, you can help address the needs of the Burn community and contribute to the growth and effectiveness of the project. Thank you for your interest in contributing to Burn!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions