-
Notifications
You must be signed in to change notification settings - Fork 458
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
ONNX: Implement Equal operator #557
Comments
Oh cool! Thank you all for your hard work. However I still get the same error message - maybe nodes are different to operators?
|
Reopenning it to investigate closely. |
@willstott101 if it's possible, could you please share the link to the ONNX file or upload if it's possible to do so? It will help to troubleshoot. Please, note, burn-import still being developed and there are many ops are missing. ONNX is complex, and our strategy has been to move forward by adding features required by a concrete ONNX file instance, instead of going by the ONNX spec and try to cover all cases, which isn't practical. Thanks for using and reporting the issue. |
Bear in mind that this is possibly quite an unusual model as I have struggled to find any libraries other than onnxruntime that can actually use this onnx file. I don't know if that makes it a good example for burn at this stage or a bad one? 😆 If I have time I might tinker with adding some operators it uses, but i'm really just taking a look at this for curiosity's sake. It's a model I deploy at work with onnxruntime on desktop intel cpus, and I just like the idea of being able to use vulkan and rust to speed it up. |
@willstott101, thanks for sharing. I think have found an issue. The Equal implementation done earlier was with tensors but the example you shared is with scalars. I currently working on improving burn-import's binary operators to support scalars. So hopefully with that it'll fixed. However, your next problem is that your graph uses two major architectural features that missing from burn-import: branching and subgraphs, these are double with Burn but requires a bit of refactoring. Basically, burn-import will need to multi-graph to multi-model conversation. Currently, burn-import assumes a single graph and it generates a single model. The top graph from your example: One of the subgraphs (note this subgraph contains LSTM which is supported by burn but missing from burn-import): The number of subgraphs: Yes, your ONNX will be challenging to make it work but it's completely doable with Burn. Tagging @nathanielsimard and @Luni-4 so they're aware of the use cases. Note: I used Netron to view your ONNX file: https://netron.app/ |
@willstott101 I have filed a ticket to support subgraphs: #724 |
Feature description
It'd be great if the onnx import could support the Equal operator.
Feature motivation
Version 4 of the Silero VAD model uses this, FYI no rust runtime supports the latest silero model atm, so movement in that direction would be pretty cool :)
I'm sure there are plenty more operators or features missing, but making an issue for the first one.
Relates to: #322
Other silero issues in the rust ecosystem: sonos/tract#1029
The text was updated successfully, but these errors were encountered: