microsoft / microsoft/onnxruntime

detect invalid nodes and invalid graph in onnxruntime before handing them to execution providers

Open
#8,393 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature request
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.