-
Notifications
You must be signed in to change notification settings - Fork 567
Help Wanted: Implementing ONNX Ops #1714
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
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) |
You are perfectly right, I should have noticed the difference. Yes, I can file another issue |
Hey I am just waiting for GRU ONNX import, any plan on implementing this? |
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. |
I am having issues when important torch onnx exports to burn. Could it be that the ONNX import is missing support for ONNX functions? |
If you're trying to import ONNX file with functions, then unfortunately we do not support it yet. We have an outstanding ticket for this: #723. |
Good morning/evening! Thanks for this awesome framework and kind explanation/documentation 👍 will add some other functions/tests and turn the PR into ready to review! |
Thank you for your contribution! I will take a look today! |
I am currently working on the bitwise operators for this issue. I followed the steps in the contributor book to create all of them and add them to
|
If the node cannot be exported via pytorch, the graph can be manually constructed using onnx utils. See for example this gather test. |
The PyTorch export approach worked for the bit shift and the bitwise and operators, but not for bitwise not, which is the weird part (changed opset_version to 18 as it is the only version of these operators in ONNX). |
If OpSet 18 works, then go ahead use it. |
I tried manually constructing the graph via onnx based on what @laggui suggested and it worked. Thank you so much. |
I added some tests to the test_onnx.rs file for the bitwise operations. After running error[E0308]: mismatched types |
@AshAnand34, please submit a draft PR and we can discuss over there. |
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 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:
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!
The text was updated successfully, but these errors were encountered: