microsoft / microsoft/onnxruntime
detect invalid nodes and invalid graph in onnxruntime before handing them to execution providers
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 21.9k
- Forks
- 4.2k
- Avg merge
- 4d 8h
- Merged PRs (30d)
- 179
Description
Discussed in https://github.com/microsoft/onnxruntime/discussions/8152
Originally posted by jeyblu June 24, 2021
Tests like TEST(BatchNormTest, InvalidScaleDim) have invalid values in the node attribute to test if invalid nodes are detected. It seems that it would make more sense for onnxruntime to check nodes in the graph and detect invalid ones before handing the graph to execution providers. If it's checked by onnxruntime, the code is written once in onnxruntime. If it's checked by execution providers, the code has to be written by every execution provider. It's one implementation vs n number of implementations for n number of execution providers.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the linked BatchNormTest.InvalidScaleDim in onnxruntime/test/providers/cpu/nn/batch_norm_op_test.cc and the discussion at microsoft/onnxruntime#8152. Trace where graph nodes are handed to execution providers; done means invalid nodes and graphs are detected before that handoff with coverage for the invalid cases.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- machine-learning
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100