microsoft / microsoft/onnxruntime

Get OpSchemas for registered Custom Operators

Open
#25,494 0 comments 0 reactions 0 assignees View on GitHub
feature request
Dominant language
C++
Stars
21.9k
Forks
4.2k
Avg merge
4d 11h
Merged PRs (30d)
184

Description

### Describe the feature request

The function "get_all_operator_schema" (onnxruntime.capi.onnxruntime_pybind11_state.get_all_operator_schema)
is not available for custom Operators. Session Option or Session inference could be enhanced by giving the option of getting the information of the available operators for the session.

Extending the functionality of these functions helps when creating systems like NVIDIA NSight DL Designer or ONNX model node editors, where only the predefined operators are available.

I have checked the code to find if there was any method to get this metadata from registered custom operators. If this functionality already exists, I would be happy to know.

Best Regards

### Describe scenario use case

My main use case now is for a project to convert ONNX models to RDF "https://github.com/JorgeMIng/ONNX2RDF" where I was using "get_all_operator_schema" but was not able to extend it to custom operators.

It could be used to create an ONNX Operator registry compiling multiple ONNX custom libraries for easily finding operators for specific tasks. Moreover, if considering systems like Nvidia NSight DL Designer, where only the predefined ONNX operators are available, this could introduce a method to add compatibility for custom libraries.

Contributor guide

Open the contributing guide

Research direction

Start at the mentioned get_all_operator_schema entry point and trace how registered custom operators and session options are represented. Done means a session can expose schema information for its registered custom operators, but the issue names no files or tests to guide implementation.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, python
Domain
machine-learning
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.