onnxruntime/js/web/docs/operators.md
RandySheriffH 62226d030f
Cherry-pick tagged commits to 1.12.0 release candidate (#12097)
* Update ONNX to 1.12 (#11924)

Follow-ups that need to happen after this and before the next ORT release:
* Support SequenceMap with https://github.com/microsoft/onnxruntime/pull/11731
* Support signal ops with https://github.com/microsoft/onnxruntime/pull/11778

Follow-ups that need to happen after this but don't necessarily need to happen before the release:
* Implement LayerNormalization kernel for opset version 17: https://github.com/microsoft/onnxruntime/issues/11916

Fixes #11640

* Dll version fix ovep4.1 (#11953)

* Setting default version values for ovep dlls as well

* Update backend_manager.cc

Co-authored-by: mayavijx <mayax.vijayan@intel.com>
Co-authored-by: mohsin <mohsinx.mohammad@intel.com>

* Optimize t5 encoder in beam search (#11926)

* ooptimize t5 encoder

* update

* update

* update

* refactor expand impl

* cuda tests passed

* update

* alignment

* more alignments

* review comments

* Allow saving on CPU usage for infrequent inference requests by reducing thread spinning (#11841)

Introduce Start/Stop threadpool spinning switch
Add a session config option to force spinning stop at the end of the Run()

* Restructure function inliner (#11731)

* Add nested function call tests

* Add overload for Specialize

* Pass symboltable to onnx shape inference

* Avoid renaming empty names

* Enable sequence_map tests which failed before this change

* Deprecate APIs returning raw ptrs and provide replacements (#11922)

Provider better documentation

* register signal ops for opset 17 (#11778)

* Register signal ops for op set 17

Note code is mostly being moved, not added. These ops were previously
only registered as Microsoft contrib ops and only built if
`BUILD_MS_EXPERIMENTAL_OPS=1`. They've been added to the ai.onnx
standard op set in version 17.

Main components of this change:

* Move the kernels from the conrib_ops directory to the
  core directory.
* Add function bodies for ms experimental ops. This will allow
  old models that use the contrib ops to continue to function.
  All the function bodies consist of a single op (the
  new standard op), so performance overhead should be minimal.

Minor clean-up also in this change:

* De-duplicate get_scalar_value_from_tensor: put it in a new utils.h.
* Fix some bugs that caused compilation errors with the experimental
  ops. Tested with `build.sh --ms_experimental`
* Fix some spelling errors and lint violations.
* Replace a couple of switch statements with `MLTypeCallDispatcher`.
* Use `InlineVector` instead of `std::vector`.

Unblocks https://github.com/microsoft/onnxruntime/issues/11640

* Include opset 15 in Conv+BatchNormalization fusion (#11960)

* Fix WinML Tests are still targetting deprecated (deleted) experimental signal op definitions (#12006)

* fix winml tests

* remove legacy test

* switch idft -> dft+inverse attr

* upgrade opset 13->17 for signal ops tests

* [C# Tests] Add support for double tensor output in TestPreTrainedModels. (#12008)

Add support for double tensor output in TestPreTrainedModels.

* DML EP ResNet50 opset 15 fails in ONNX checker for FusedBatchNormalization lacking training_mode attribute (#12010)

FusedBatchNormalization include training_mode attribute

* Generalize native op creation (#11539)

* create op from ep

* read input count from context

* create holder to host nodes

* fix typo

* cast type before comparison

* throw error on API fail

* silence warning from minimal build

* switch to unique_ptr with deleter to host nodes

* fix typo

* fix build err for minimal

* fix build err for minimal

* add UT for conv

* enable test on CUDA

* add comment

* fix typo

* use gsl::span and string view for Node constructor

* Added two APIs - CopyKernelInfo and ReleaseKernelInfo

* pass gsl::span by value

* switch to span<NodeArg* const> to allow for reference to const containers

* fix typo

* fix reduced build err

* fix reduced build err

* refactoring node construction logic

* rename exceptions

* add input and output count as arguments for op creation

* refactor static member

* use ORT_CATCH instead of catch

* cancel try catch

* add static value name map

* format input definition and set err code

* fix comments

* fix typo

* [DML EP] Pad operator: Handle negative pad counts (#11974)

* Pad fallback to CPU

* Added queryPad in operatorRegistration.cpp

* Acknowledged PR comments

* Used any_of

* used none_of instead of any_of

Co-authored-by: Sumit Agarwal <sumitagarwal@microsoft.com>

* Add warning about future computation change for ConvTranspose with auto_pad (#11984)

* Add warning about future computation change for Convtranspose with auto_pad

* improve msg

* update TODO to make lint happy

* update more contents for warning and add if

* valid was not infected

* move it into kernel registration

* parse auto_pad myself

* try to use conv_transpose_attrs_.auto_pad directly

* update roialign cuda impl to onnx opset16 (#12036)

* roialign opset16

* fix

* fix

* Fix windows eager build break by pinning to torch version 1.11.0 (#12033)

Fix windows and linux eager build to torch 1.11.0.

* Skip Constant Folding for ops producing an optional type output (#11839)

* Disable sequence-type tests since C# infra doesn't support well (#12037)

* Extend lifetime of KernelDef when creating a standalone op (#12057)

place tmp kernel def as local variable to cover the lifetime of kernel creation

* Add targets files for new .net6 frameworks (#12016)

* Add net6 targets.
Remove maccatalyst as we don't have a native build targetting that.

* Set platform in macos targets

* Add targetFramework entries

* Move NativeLib.DllName definition and set using preprocessor values for simplicity. Couldn't get it to build with the preprocessor based setup when it was in a separate file.

Update the nuspec generation to set platform version for .net6 targets. TODO: Validate versions. I copied them from the managed nuget package the packaging pipeline generated prior to adding targets. Possibly w could/should lower some of the versions.

Hopefully the need to specify a version goes away when the release version of VS2022 supports .net6.

* Try android 31.1 as https://github.com/actions/virtual-environments/blob/main/images/win/Windows2022-Readme.md suggests that should be available on the CI machines

* Fix patch version mismatch
Add some extra debug info in case it helps

* Debug nuget location in CI

* Add workspace entry back in

* Add steps

* One more attempt with hardcoded nuget.exe path and original android31.0 version

* Better fix - found explicit nuget download and updated version there.

* flake8 fixes

* Fix black complaints.

* Exit Microsoft_ML_OnnxRuntime_CheckPrerequisites for net6 iOS.

* Removed outdated comment

* Fix DML custom operators which set descriptor heap to command list (#12059)

* Make C# runtest.sh automatically set latest opset (#12039)

* Update C# runtest.sh for opset 17

Should have been part of https://github.com/microsoft/onnxruntime/pull/11924

* get appropriate opset version from onnx doc

* use absolute rather than relative path

* fix typo in var name

* Disable DML command list reuse for Xbox (#12063)

disable cl reuse for xbox

* Add data type check in ConvAddRelu fusion (#12058)

* Add undocumented attribute to disable generation of Java bindings from the Android AAR. (#12075)

The generated bindings causes C# build errors that require workaround code. Disabling generation should avoid the need for any workarounds.

As the user has the C# ORT package with the C# to C bindings there's no need for binding generation that calls the ORT Java API (which is C# -> Java ->C).

* enable the extensions custom build for java and android (#11823)

* generate quantization parameter for outputs (#12089)

* DML EP Update to DML 1.9 (#12090)

* Update to DML 1.9

* Appease obnoxious Python formatting tool

* Fix orttraining-linux-ci-pipeline - Symbolic shape infer (#11965)

fix symbolic shape error due to upgraded numpy + legacy sympy

* check consumers of dq node before swap dq and transpose (#12099)

* check consumers of dq node before swap dq and transpose

* add unit test

Co-authored-by: Gary Miguel <garymiguel@microsoft.com>
Co-authored-by: Preetha Veeramalai <preetha.veeramalai@intel.com>
Co-authored-by: mayavijx <mayax.vijayan@intel.com>
Co-authored-by: mohsin <mohsinx.mohammad@intel.com>
Co-authored-by: Ye Wang <52801275+wangyems@users.noreply.github.com>
Co-authored-by: Dmitri Smirnov <yuslepukhin@users.noreply.github.com>
Co-authored-by: G. Ramalingam <grama@microsoft.com>
Co-authored-by: Dwayne Robinson <dwayner@microsoft.com>
Co-authored-by: Sheil Kumar <smk2007@gmail.com>
Co-authored-by: Edward Chen <18449977+edgchen1@users.noreply.github.com>
Co-authored-by: sumitsays <sumitagarwal330@gmail.com>
Co-authored-by: Sumit Agarwal <sumitagarwal@microsoft.com>
Co-authored-by: Chun-Wei Chen <jacky82226@gmail.com>
Co-authored-by: George Wu <jywu@microsoft.com>
Co-authored-by: Wil Brady <25513670+WilBrady@users.noreply.github.com>
Co-authored-by: Hariharan Seshadri <shariharan91@gmail.com>
Co-authored-by: Wei-Sheng Chin <wschin@outlook.com>
Co-authored-by: Scott McKay <skottmckay@gmail.com>
Co-authored-by: Jeff Bloomfield <38966965+jeffbloo@users.noreply.github.com>
Co-authored-by: Justin Stoecker <justoeck@microsoft.com>
Co-authored-by: Wenbing Li <10278425+wenbingl@users.noreply.github.com>
Co-authored-by: Yufeng Li <liyufeng1987@gmail.com>
Co-authored-by: pengwa <pengwa@microsoft.com>
2022-07-06 21:35:19 -07:00

29 KiB

Operators Support Table

The following table shows ai.onnx operators from which onnx opset version are currently supported by ONNX Runtime Web. For example, 4-6, 8+ means ONNX Runtime Web currently support opset version 4 to 6, 8 and above.

See Compatibility for a list of the supported platforms.

This file is automatically generated from the def files via this script. Do not modify directly.

Operator WebGl Backend
Abs 6-12, 13+
Acos 7+
Acosh
Add 7-12, 13, 14+
And 7+
ArgMax
ArgMin
Asin 7+
Asinh
Atan 7+
Atanh
AveragePool 7-9, 10, 11+
BatchNormalization 7-8, 9-13, 14, 15+
Bernoulli
BitShift
BlackmanWindow
Cast 6-8, 9-12, 13+
CastLike
Ceil 6-12, 13+
Celu
Clip 6-10, 11, 12, 13+
Compress
Concat 4-10, 11-12, 13+
ConcatFromSequence
Constant
ConstantOfShape
Conv 1-10, 11+
ConvInteger
ConvTranspose
Cos 7+
Cosh
CumSum
DFT
DepthToSpace 1-10, 11-12, 13+
DequantizeLinear
Det
Div 7-12, 13, 14+
Dropout 7-9, 10-11, 12, 13+
DynamicQuantizeLinear
Einsum
Elu 6+
Equal 7-10, 11-12, 13+
Erf
Exp 6-12, 13+
Expand
EyeLike
Flatten 1-8, 9-10, 11-12, 13+
Floor 6-12, 13+
GRU
Gather 1-10, 11-12, 13+
GatherElements
GatherND
Gemm 7-8, 9-10, 11-12, 13+
GlobalAveragePool 1+
GlobalLpPool
GlobalMaxPool 1+
Greater 7-8, 9-12, 13+
GreaterOrEqual
GridSample
HammingWindow
HannWindow
HardSigmoid
HardSwish
Hardmax
Identity 1-12, 13, 14-15, 16+
If
InstanceNormalization 6+
IsInf
IsNaN
LRN
LSTM
LayerNormalization
LeakyRelu 6-15, 16+
Less 7-8, 9-12, 13+
LessOrEqual
Log 6-12, 13+
LogSoftmax
Loop
LpNormalization
LpPool
MatMul 1-8, 9-12, 13+
MatMulInteger
Max
MaxPool 1-7, 8-9, 10, 11, 12+
MaxRoiPool
MaxUnpool
Mean
MeanVarianceNormalization
MelWeightMatrix
Min
Mod
Mul 7-12, 13, 14+
Multinomial
Neg 6-12, 13+
NegativeLogLikelihoodLoss
NonMaxSuppression
NonZero
Not 1+
OneHot
Optional
OptionalGetElement
OptionalHasElement
Or 7+
PRelu 7-8, 9-15, 16+
Pad 2-10, 11-12, 13+
Pow 7-11, 12, 13-14, 15+
QLinearConv
QLinearMatMul
QuantizeLinear
RNN
RandomNormal
RandomNormalLike
RandomUniform
RandomUniformLike
Range
Reciprocal
ReduceL1
ReduceL2
ReduceLogSum 1-10, 11-12, 13+
ReduceLogSumExp
ReduceMax 1-10, 11, 12, 13+
ReduceMean 1-10, 11-12, 13+
ReduceMin 1-10, 11, 12, 13+
ReduceProd 1-10, 11-12, 13+
ReduceSum 1-10, 11-12
ReduceSumSquare 1-10, 11-12, 13+
Relu 6-12, 13, 14+
Reshape 5-12, 13, 14+
Resize 10, 11-12, 13+
ReverseSequence
RoiAlign
Round
STFT
Scan
Scatter
ScatterElements
ScatterND
Selu
SequenceAt
SequenceConstruct
SequenceEmpty
SequenceErase
SequenceInsert
SequenceLength
SequenceMap
Shape 1-12, 13-14, 15+
Shrink
Sigmoid 6-12, 13+
Sign
Sin 7+
Sinh
Size
Slice 1-9, 10, 11-12, 13+
Softmax 1-10, 11-12, 13+
SoftmaxCrossEntropyLoss
Softplus
Softsign
SpaceToDepth
Split 2-10, 11-12
SplitToSequence
Sqrt 6-12, 13+
Squeeze 1-10, 11-12, 13+
StringNormalizer
Sub 7-12, 13, 14+
Sum 6-7, 8-12, 13+
Tan 7+
Tanh 6-12, 13+
TfIdfVectorizer
ThresholdedRelu
Tile 6-12, 13+
TopK
Transpose 1-12, 13+
Trilu
Unique
Unsqueeze 1-10, 11-12, 13+
Upsample 7-8, 9
Where
Xor 7+