microsoft / microsoft/onnxruntime

More supported ai.onnx operators for WebGL backend

Open
#11,872 1 comment 20 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature request platform:web
Dominant language
C++
Stars
21.9k
Forks
4.2k
Avg merge
4d 8h
Merged PRs (30d)
179

Description

Hi!
I'm currently working on a complex network, which took up 1s of inference using WASM backend. So I'm trying to convert the model to run inference using WEBGL backend in shorter time, but the simple conversion of params to int32 is not enough.

Is there any hope that the following operators will be supported by ONNX Runtime Web's WebGL backend?

  • Constant
  • ConstantOfShape
  • Expand
  • If
  • NonZero
  • Range
  • RoiAlign
  • ScatterElements
  • ScatterND
  • TopK
  • Where

The list of current available operators is here and in fact any of these operators is there. ONNX Runtime Web is very powerful and in my opinion so much better than TensorflowJS, but these unsopported operators are so annoying.

Any suggestion on how to implement this even if alone is welcome.

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 js/web/docs/operators.md and compare its supported-operator list with Constant, Expand, If, NonZero, Range, RoiAlign, ScatterElements, ScatterND, TopK, and Where. Determine the relevant WebGL backend entry points for the missing operators; done means the requested operators are supported and documented there, with validation for the affected models.

Written by the indexing model from the issue text.

Assessment

Domain
machine-learning, web-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.