Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Help Wanted: Implementing ONNX Ops #1714

Open
31 of 39 tasks
antimora opened this issue Apr 30, 2024 · 7 comments
Open
31 of 39 tasks

Help Wanted: Implementing ONNX Ops #1714

antimora opened this issue Apr 30, 2024 · 7 comments
Labels
help wanted Extra attention is needed onnx

Comments

@antimora
Copy link
Collaborator

antimora commented Apr 30, 2024

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)

  • ArgMax
  • AveragePool1d
  • ConvTranspose1d
  • Gather
  • Greater
  • GreaterOrEqual
  • Less
  • LessOrEqual
  • Max
  • MaxPool1d
  • Mean
  • Min
  • PRelu
  • Pad
  • Range
  • ReduceMin
  • ReduceProd
  • ReduceSum
  • Squeeze
  • Sum
  • TopK
  • Trilu

Harder Ops (Not Similar to Existing Implemented Ops)

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

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
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!

@antimora antimora added help wanted Extra attention is needed onnx labels Apr 30, 2024
@antimora antimora pinned this issue Apr 30, 2024
@antimora antimora changed the title Contributing to Burn: Implementing Missing ONNX Ops Help Wanted: Implementing Missing ONNX Ops Apr 30, 2024
@antimora antimora changed the title Help Wanted: Implementing Missing ONNX Ops Help Wanted: Implementing ONNX Ops Apr 30, 2024
@Arjun31415 Arjun31415 mentioned this issue May 3, 2024
2 tasks
This was referenced May 5, 2024
@agelas agelas mentioned this issue May 11, 2024
2 tasks
This was referenced May 29, 2024
@agelas agelas mentioned this issue May 31, 2024
2 tasks
@mosure mosure mentioned this issue Jun 7, 2024
2 tasks
@antimora antimora mentioned this issue Aug 4, 2024
2 tasks
@cBournhonesque cBournhonesque mentioned this issue Aug 6, 2024
1 task
@antimora
Copy link
Collaborator Author

@Arjun31415, @AntBlo, @agelas, @hexd0t, @will-maclean, @mosure, @JachymPutta, @johnhuichen, @mepatrick73, @cBournhonesque, @Dirleye, @laggui

Thank you very much for answering Burns' call for help. Your contributions have greatly enhanced ONNX Op coverage! This truly has been a community effort.

@antimora
Copy link
Collaborator Author

Your PR changes are part of Burn 0.14: https://github.com/tracel-ai/burn/releases/tag/v0.14.0

@Luni-4
Copy link
Collaborator

Luni-4 commented Oct 9, 2024

@antimora

Can we add the Split operator to the list too? Looking at this list, it's not present in burn as well though 🤔

@antimora
Copy link
Collaborator Author

@Luni-4

@antimora

Can we add the Split operator to the list too? Looking at this list, it's not present in burn as well though 🤔

This ticket is mostly catching up with ONNX ops that can be implemented immediately without adding a Burn OP.

I think we should file a separate ticket (if you don't mind filing since you might know a better use case)

@Luni-4
Copy link
Collaborator

Luni-4 commented Oct 30, 2024

@antimora

You are perfectly right, I should have noticed the difference. Yes, I can file another issue

@steckes
Copy link

steckes commented Dec 11, 2024

Hey I am just waiting for GRU ONNX import, any plan on implementing this?
How much work is the import, as the implementation should be done already according to the Ops page?

@laggui
Copy link
Member

laggui commented Dec 12, 2024

I don't think anyone is actively working on adding GRU to onnx import.

I'm not familiar with the differences with the GRU ONNX spec, I'd have to look into it to see how easy it is for someone to add support for this op.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
help wanted Extra attention is needed onnx
Projects
None yet
Development

No branches or pull requests

4 participants