Skip to content
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

understanding the onnx parser #772

Open
kumarutkarsh1248 opened this issue May 18, 2024 · 2 comments
Open

understanding the onnx parser #772

kumarutkarsh1248 opened this issue May 18, 2024 · 2 comments
Labels
TIME WAIT Waiting for an approppriate period for a response before closing the issue.

Comments

@kumarutkarsh1248
Copy link

Hi,
I am currently trying to understand the ONNX parser. Is there any developer documentation or any other resources available that can help me understand the parser quickly, or do I have to follow along just with comments?

@Colm-in-Arm
Copy link
Collaborator

Hi,

There is limited documentation on the Onnx parser. There's the outline of supported operators here.

Probably the best way to learn about how it functions would be to use ExecuteNetwork to run an Onnx model and step through the code in a debugger.

Colm.

@kumarutkarsh1248
Copy link
Author

Hi @Colm-in-Arm,
Basically, I am working on creating an ONNX converter for the mlpack(a machine learning library) framework and for that i am taking the refrence of armnn converter.
My current ONNX-MLPack converter is working fine for some simple linear and convolutional models(https://github.com/kumarutkarsh1248/onnx_mlpack_translator ).
Basically, what my converter does is iterate through the nodes of the graph in topological order, extract the attributes of each node, and while doing so, the converter adds layers to the MLPack model one by one with all their attributes mapped.

This overall approach works fine for simple models with no side branching, but this converter fails when it comes to ONNX models with some side branches associated with nodes or complex closed connectivity of nodes.

There is also a significant difference in the graph for different versions of the ONNX model.

I don’t know how to deal with these issues, and I can’t find any documentation or reference on how machine learning frameworks should make their converters. If you could provide any such developer documentation or any other resources, it would help me a lot.

@Colm-in-Arm Colm-in-Arm added the TIME WAIT Waiting for an approppriate period for a response before closing the issue. label Aug 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
TIME WAIT Waiting for an approppriate period for a response before closing the issue.
Projects
None yet
Development

No branches or pull requests

2 participants