tracel-ai / burn

Burn is a new comprehensive dynamic Deep Learning Framework built using Rust with extreme flexibility, compute efficiency and portability as its primary goals.
https://burn.dev
Apache License 2.0
9.02k stars 446 forks source link

Help Wanted: Implementing ONNX Ops #1714

Open antimora opened 6 months ago

antimora commented 6 months ago

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

Relatively Easy Ops (Similar to Existing Implemented Ops)

Harder Ops (Not Similar to Existing Implemented Ops)

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 commented 3 months ago

@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 commented 3 months ago

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

Luni-4 commented 1 month ago

@antimora

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

antimora commented 3 weeks ago

@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 commented 3 weeks ago

@antimora

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