-
Notifications
You must be signed in to change notification settings - Fork 206
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
"Could not resolve inputs at top-level" issue loading ONNX file #141
Comments
Thanks for the report ! I'll have a look. |
So a first thing of notice: the graph uses a "ConstantFill" operator (nodes 20 and 54). This operator is not part of Onnx, so you may want to tweak your pytorch network somehow. The error message is bad, though. I'll try to see how it gets reported like this. This is not documented anywhere (except with --help) but tract has an auditing command line that can help investigating these thing... |
OK, i found out what the other problem is. I have issues dealing with optional inputs and the way they are encoded in ONNX. ONNX uses an empty string as a input specifier to denote a missing input when it needs to skip it, and I have some problems modelling this in tract. Here is a dump of the problematic node:
So this GRU is missing its Note: I'm very interested in helping you gettiing So to summarize:
This should get us to a network that loads, and we'll take it from there :) |
This may help about ConstantFill : onnx/onnx#1434 |
Wow, thanks for the investigation and support. Yes, I had realised that the My other option was to use ELL, but I prefer a Rust implementation. My ultimate goal is to get one of these running on an ARM processor, of some sort. I'll investigate your comments more tomorrow. |
Ha, real time voice on ARM should be the sweet spot indeed. Happy to see somebody out of the office give it a shot :) |
For your information, I have a POC for ONNX GRU translation here #143 |
Thanks. With the latest tract code changes it's getting further. I've also updated my ONNX model and replaced the |
aha, LSTM :) I have not implemented LSTM translation to core ops yet, just the GRU one, but will try to do that soon. It should work anyway, just be relatively ineficient. I'll keep you posted. |
Ok, that makes sense. The LSTM took longer that 10 minutes in debug mode so I cancelled it. In release mode it crashed my computer, seriously, I had to hold the power button for 6 six seconds. But that's not an issue. |
That sounds a bit extreme... i’ll be happy to have a try at running your lstm model if you can share it. |
I found out that the optimisation step was taking a long time. I'll raise a bug soon, hopefully. I'm currently busy with other things. Thank you. |
The following code:
fails with the following error message:
The ONNX file appears to be valid since it can be used otherwise. The offending ONNX file can be found here: https://psiphi75.github.io/workingfiles/GRU128KeywordSpotter.onnx
The text was updated successfully, but these errors were encountered: