mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-05-19 21:32:23 +00:00
* 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>
131 KiB
131 KiB
Supported Operators and Data Types
This file is automatically generated from the registered kernels by this script. Do not modify directly.
Execution Providers
Operators implemented by CPUExecutionProvider
| Op Name | Parameters | OpSet Version | Types Supported |
|---|---|---|---|
| Operator Domain: ai.onnx | |||
| Abs | in X:T out Y:T |
13+ | T = tensor(double), tensor(float), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| [6, 12] | T = tensor(double), tensor(float), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| Acos | in input:T out output:T |
7+ | T = tensor(float) |
| Acosh | in input:T out output:T |
9+ | T = tensor(float) |
| Add | in A:T in B:T out C:T |
14+ | T = tensor(double), tensor(float), tensor(int32), tensor(int64) |
| 13 | T = tensor(double), tensor(float), tensor(int32), tensor(int64) | ||
| [7, 12] | T = tensor(double), tensor(float), tensor(int32), tensor(int64) | ||
| Affine | in X:T out Y:T |
1+ | T = tensor(float) |
| And | in A:T in B:T out C:T1 |
7+ | T = tensor(bool) T1 = tensor(bool) |
| ArgMax | in data:T out reduced:tensor(int64) |
13+ | T = tensor(double), tensor(float), tensor(int32), tensor(int8), tensor(uint8) |
| [11, 12] | T = tensor(double), tensor(float), tensor(int32), tensor(int8), tensor(uint8) | ||
| [1, 10] | T = tensor(float), tensor(int32), tensor(int8), tensor(uint8) | ||
| ArgMin | in data:T out reduced:tensor(int64) |
13+ | T = tensor(double), tensor(float), tensor(int32) |
| [11, 12] | T = tensor(double), tensor(float), tensor(int32) | ||
| [1, 10] | T = tensor(float), tensor(int32) | ||
| Asin | in input:T out output:T |
7+ | T = tensor(float) |
| Asinh | in input:T out output:T |
9+ | T = tensor(float) |
| Atan | in input:T out output:T |
7+ | T = tensor(float) |
| Atanh | in input:T out output:T |
9+ | T = tensor(float) |
| AveragePool | in X:T out Y:T |
11+ | T = tensor(float) |
| 10 | T = tensor(float) | ||
| [7, 9] | T = tensor(float) | ||
| BatchNormalization | in X:T in scale:T in B:T in input_mean:U in input_var:U out Y:T out running_mean:U out running_var:U or in X:T in scale:T in B:T in mean:T in var:T out Y:T out mean:T out var:T out saved_mean:T out saved_var:T or in X:T in scale:T1 in B:T1 in input_mean:T2 in input_var:T2 out Y:T out running_mean:T2 out running_var:T2 |
15+ | T = tensor(double), tensor(float) T1 = tensor(double), tensor(float) T2 = tensor(double), tensor(float) |
| 14 | T = tensor(double), tensor(float) U = tensor(double), tensor(float) |
||
| [9, 13] | T = tensor(double), tensor(float) | ||
| [7, 8] | T = tensor(double), tensor(float) | ||
| BitShift | in X:T in Y:T out Z:T |
11+ | T = tensor(uint32), tensor(uint64), tensor(uint8) |
| BlackmanWindow | in size:T1 out output:T2 |
17+ | T1 = tensor(int32), tensor(int64) T2 = tensor(double), tensor(float), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| Cast | in input:T1 out output:T2 |
13+ | T1 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T2 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| [6, 12] | T1 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T2 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
||
| Ceil | in X:T out Y:T |
13+ | T = tensor(float) |
| [6, 12] | T = tensor(float) | ||
| Celu | in X:T out Y:T |
12+ | T = tensor(float) |
| Clip | in input:T in min:T in max:T out output:T or in input:T out output:T |
13+ | T = tensor(double), tensor(float), tensor(int64), tensor(int8), tensor(uint64), tensor(uint8) |
| 12 | T = tensor(double), tensor(float), tensor(int64), tensor(int8), tensor(uint64), tensor(uint8) | ||
| 11 | T = tensor(float) | ||
| [6, 10] | T = tensor(float) | ||
| Compress | in input:T in condition:T1 out output:T |
11+ | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T1 = tensor(bool) |
| [9, 10] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T1 = tensor(bool) |
||
| Concat | in inputs:T out concat_result:T |
13+ | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| [11, 12] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| [4, 10] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| ConcatFromSequence | in input_sequence:S out concat_result:T |
11+ | S = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(string)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8)) |
| ConstantOfShape | in input:T1 out output:T2 |
9+ | T1 = tensor(int64) T2 = tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| Conv | in X:T in W:T in B:T out Y:T |
11+ | T = tensor(float) |
| [1, 10] | T = tensor(float) | ||
| ConvInteger | in x:T1 in w:T2 in x_zero_point:T1 in w_zero_point:T2 out y:T3 |
10+ | T1 = tensor(uint8) T2 = tensor(uint8) T3 = tensor(int32) |
| ConvTranspose | in X:T in W:T in B:T out Y:T |
11+ | T = tensor(float) |
| [1, 10] | T = tensor(float) | ||
| Cos | in input:T out output:T |
7+ | T = tensor(float) |
| Cosh | in input:T out output:T |
9+ | T = tensor(float) |
| Crop | in input:T out output:T |
1+ | T = tensor(float) |
| CumSum | in x:T in axis:T2 out y:T |
14+ | T = tensor(double), tensor(float), tensor(int32), tensor(int64) T2 = tensor(int32), tensor(int64) |
| [11, 13] | T = tensor(double), tensor(float), tensor(int32), tensor(int64) T2 = tensor(int32), tensor(int64) |
||
| DFT | in input:T1 in dft_length:T2 out output:T1 |
17+ | T1 = tensor(double), tensor(float) T2 = tensor(int32), tensor(int64) |
| DepthToSpace | in input:T out output:T |
13+ | T = tensor(double), tensor(float) |
| [11, 12] | T = tensor(double), tensor(float) | ||
| [1, 10] | T = tensor(double), tensor(float) | ||
| DequantizeLinear | in x:T in x_scale:tensor(float) in x_zero_point:T out y:tensor(float) |
13+ | T = tensor(int32), tensor(int8), tensor(uint8) |
| [10, 12] | T = tensor(int32), tensor(int8), tensor(uint8) | ||
| Det | in X:T out Y:T |
11+ | T = tensor(float) |
| Div | in A:T in B:T out C:T |
14+ | T = tensor(double), tensor(float), tensor(int32), tensor(int64) |
| 13 | T = tensor(double), tensor(float), tensor(int32), tensor(int64) | ||
| [7, 12] | T = tensor(double), tensor(float), tensor(int32), tensor(int64) | ||
| Dropout | in data:T in ratio:T1 in training_mode:T2 out output:T out mask:T2 or in data:T out output:T out mask:T or in data:T out output:T out mask:T1 |
13+ | T = tensor(double), tensor(float) T1 = tensor(double), tensor(float) T2 = tensor(bool) |
| 12 | T = tensor(double), tensor(float) T1 = tensor(double), tensor(float) T2 = tensor(bool) |
||
| [10, 11] | T = tensor(double), tensor(float), tensor(float16) T1 = tensor(bool) |
||
| [7, 9] | T = tensor(double), tensor(float), tensor(float16) | ||
| DynamicQuantizeLinear | in x:T1 out y:T2 out y_scale:tensor(float) out y_zero_point:T2 |
11+ | T2 = tensor(uint8) |
| DynamicSlice | in data:T in starts:Tind in ends:Tind in axes:Tind out output:T |
1+ | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) Tind = tensor(int32), tensor(int64) |
| Einsum | in Inputs:T out Output:T |
12+ | T = tensor(double), tensor(float), tensor(int32), tensor(int64) |
| Elu | in X:T out Y:T |
6+ | T = tensor(float) |
| Equal | in A:T in B:T out C:T1 |
13+ | T = tensor(bool), tensor(double), tensor(float), tensor(int32), tensor(int64) T1 = tensor(bool) |
| [11, 12] | T = tensor(bool), tensor(double), tensor(float), tensor(int32), tensor(int64) T1 = tensor(bool) |
||
| [7, 10] | T = tensor(bool), tensor(double), tensor(float), tensor(int32), tensor(int64) T1 = tensor(bool) |
||
| Erf | in input:T out output:T |
13+ | T = tensor(float) |
| [9, 12] | T = tensor(float) | ||
| Exp | in input:T out output:T |
13+ | T = tensor(double), tensor(float) |
| [6, 12] | T = tensor(double), tensor(float) | ||
| Expand | in input:T in shape:tensor(int64) out output:T |
13+ | T = tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| [8, 12] | T = tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| EyeLike | in input:T1 out output:T2 |
9+ | T1 = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(uint64) T2 = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(uint64) |
| Flatten | in input:T out output:T |
13+ | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| [11, 12] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| [9, 10] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| [1, 8] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| Floor | in X:T out Y:T |
13+ | T = tensor(float) |
| [6, 12] | T = tensor(float) | ||
| GRU | in X:T in W:T in R:T in B:T in sequence_lens:T1 in initial_h:T out Y:T out Y_h:T |
14+ | T = tensor(double), tensor(float) T1 = tensor(int32) |
| [7, 13] | T = tensor(double), tensor(float) T1 = tensor(int32) |
||
| Gather | in data:T in indices:Tind out output:T |
13+ | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) Tind = tensor(int32), tensor(int64) |
| [11, 12] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) Tind = tensor(int32), tensor(int64) |
||
| [1, 10] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) Tind = tensor(int32), tensor(int64) |
||
| GatherElements | in data:T in indices:Tind out output:T |
13+ | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) Tind = tensor(int32), tensor(int64) |
| [11, 12] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) Tind = tensor(int32), tensor(int64) |
||
| GatherND | in data:T in indices:tensor(int64) out output:T |
13+ | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) indices = tensor(int64) |
| 12 | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) indices = tensor(int64) |
||
| 11 | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) indices = tensor(int64) |
||
| Gemm | in A:T in B:T in C:T out Y:T |
13+ | T = tensor(double), tensor(float) |
| [11, 12] | T = tensor(double), tensor(float) | ||
| [9, 10] | T = tensor(double), tensor(float) | ||
| [7, 8] | T = tensor(double), tensor(float) | ||
| GlobalAveragePool | in X:T out Y:T |
1+ | T = tensor(float) |
| GlobalLpPool | in X:T out Y:T |
2+ | T = tensor(float) |
| GlobalMaxPool | in X:T out Y:T |
1+ | T = tensor(float) |
| Greater | in A:T in B:T out C:T1 |
13+ | T = tensor(double), tensor(float), tensor(int32), tensor(int64) T1 = tensor(bool) |
| [9, 12] | T = tensor(double), tensor(float), tensor(int32), tensor(int64) T1 = tensor(bool) |
||
| [7, 8] | T = tensor(double), tensor(float) T1 = tensor(bool) |
||
| GreaterOrEqual | in A:T in B:T out C:T1 |
16+ | T = tensor(double), tensor(float), tensor(int32), tensor(int64) T1 = tensor(bool) |
| [12, 15] | T = tensor(double), tensor(float), tensor(int32), tensor(int64) T1 = tensor(bool) |
||
| GridSample | in X:T1 in grid:T1 out Y:T2 |
16+ | T1 = tensor(float) T2 = tensor(float) |
| HammingWindow | in size:T1 out output:T2 |
17+ | T1 = tensor(int32), tensor(int64) T2 = tensor(double), tensor(float), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| HannWindow | in size:T1 out output:T2 |
17+ | T1 = tensor(int32), tensor(int64) T2 = tensor(double), tensor(float), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| HardSigmoid | in X:T out Y:T |
6+ | T = tensor(float) |
| Hardmax | in input:T out output:T |
13+ | T = tensor(float) |
| [11, 12] | T = tensor(float) | ||
| [1, 10] | T = tensor(float) | ||
| Identity | in input:T out output:T or in input:V out output:V |
16+ | V = optional(seq(tensor(bfloat16))), optional(seq(tensor(bool))), optional(seq(tensor(double))), optional(seq(tensor(float))), optional(seq(tensor(float16))), optional(seq(tensor(int16))), optional(seq(tensor(int32))), optional(seq(tensor(int64))), optional(seq(tensor(int8))), optional(seq(tensor(string))), optional(seq(tensor(uint16))), optional(seq(tensor(uint32))), optional(seq(tensor(uint64))), optional(seq(tensor(uint8))), optional(tensor(bfloat16)), optional(tensor(bool)), optional(tensor(double)), optional(tensor(float)), optional(tensor(float16)), optional(tensor(int16)), optional(tensor(int32)), optional(tensor(int64)), optional(tensor(int8)), optional(tensor(string)), optional(tensor(uint16)), optional(tensor(uint32)), optional(tensor(uint64)), optional(tensor(uint8)), seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(string)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8)), tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| [14, 15] | V = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(string)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8)), tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| 13 | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| [1, 12] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| If | in cond:B out outputs:V |
16+ | B = tensor(bool) V = optional(seq(tensor(bfloat16))), optional(seq(tensor(bool))), optional(seq(tensor(double))), optional(seq(tensor(float))), optional(seq(tensor(float16))), optional(seq(tensor(int16))), optional(seq(tensor(int32))), optional(seq(tensor(int64))), optional(seq(tensor(int8))), optional(seq(tensor(string))), optional(seq(tensor(uint16))), optional(seq(tensor(uint32))), optional(seq(tensor(uint64))), optional(seq(tensor(uint8))), optional(tensor(bfloat16)), optional(tensor(bool)), optional(tensor(double)), optional(tensor(float)), optional(tensor(float16)), optional(tensor(int16)), optional(tensor(int32)), optional(tensor(int64)), optional(tensor(int8)), optional(tensor(string)), optional(tensor(uint16)), optional(tensor(uint32)), optional(tensor(uint64)), optional(tensor(uint8)), seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(string)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8)), tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| [13, 15] | B = tensor(bool) V = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(string)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8)), tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
||
| [11, 12] | B = tensor(bool) V = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
||
| [1, 10] | B = tensor(bool) V = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
||
| ImageScaler | in input:T out output:T |
1+ | T = tensor(float) |
| InstanceNormalization | in input:T in scale:T in B:T out output:T |
6+ | T = tensor(float) |
| IsInf | in X:T1 out Y:T2 |
10+ | T1 = tensor(double), tensor(float) T2 = tensor(bool) |
| IsNaN | in X:T1 out Y:T2 |
13+ | T1 = tensor(float), tensor(float16) T2 = tensor(bool) |
| [9, 12] | T1 = tensor(float), tensor(float16) T2 = tensor(bool) |
||
| LRN | in X:T out Y:T |
13+ | T = tensor(float) |
| [1, 12] | T = tensor(float) | ||
| LSTM | in X:T in W:T in R:T in B:T in sequence_lens:T1 in initial_h:T in initial_c:T in P:T out Y:T out Y_h:T out Y_c:T |
14+ | T = tensor(double), tensor(float) T1 = tensor(int32) |
| [7, 13] | T = tensor(double), tensor(float) T1 = tensor(int32) |
||
| LayerNormalization | in X:T in Scale:T in B:T out Y:T out Mean:U out InvStdDev:U or in X:T in Scale:V in B:V out Y:V out Mean:U out InvStdDev:U |
1+ | T = tensor(double), tensor(float) U = tensor(double), tensor(float) V = tensor(double), tensor(float) |
| LeakyRelu | in X:T out Y:T |
16+ | T = tensor(float) |
| [6, 15] | T = tensor(float) | ||
| Less | in A:T in B:T out C:T1 |
13+ | T = tensor(double), tensor(float), tensor(int32), tensor(int64) T1 = tensor(bool) |
| [9, 12] | T = tensor(double), tensor(float), tensor(int32), tensor(int64) T1 = tensor(bool) |
||
| [7, 8] | T = tensor(double), tensor(float) T1 = tensor(bool) |
||
| LessOrEqual | in A:T in B:T out C:T1 |
16+ | T = tensor(double), tensor(float), tensor(int32), tensor(int64) T1 = tensor(bool) |
| [12, 15] | T = tensor(double), tensor(float), tensor(int32), tensor(int64) T1 = tensor(bool) |
||
| Log | in input:T out output:T |
13+ | T = tensor(double), tensor(float) |
| [6, 12] | T = tensor(double), tensor(float) | ||
| LogSoftmax | in input:T out output:T |
13+ | T = tensor(double), tensor(float) |
| [11, 12] | T = tensor(double), tensor(float) | ||
| [1, 10] | T = tensor(double), tensor(float) | ||
| Loop | in M:I in cond:B in v_initial:V out v_final_and_scan_outputs:V |
16+ | B = tensor(bool) I = tensor(int64) V = optional(seq(tensor(bfloat16))), optional(seq(tensor(bool))), optional(seq(tensor(double))), optional(seq(tensor(float))), optional(seq(tensor(float16))), optional(seq(tensor(int16))), optional(seq(tensor(int32))), optional(seq(tensor(int64))), optional(seq(tensor(int8))), optional(seq(tensor(string))), optional(seq(tensor(uint16))), optional(seq(tensor(uint32))), optional(seq(tensor(uint64))), optional(seq(tensor(uint8))), optional(tensor(bfloat16)), optional(tensor(bool)), optional(tensor(double)), optional(tensor(float)), optional(tensor(float16)), optional(tensor(int16)), optional(tensor(int32)), optional(tensor(int64)), optional(tensor(int8)), optional(tensor(string)), optional(tensor(uint16)), optional(tensor(uint32)), optional(tensor(uint64)), optional(tensor(uint8)), seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(string)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8)), tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| [13, 15] | B = tensor(bool) I = tensor(int64) V = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(string)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8)), tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
||
| [11, 12] | B = tensor(bool) I = tensor(int64) V = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
||
| [1, 10] | B = tensor(bool) I = tensor(int64) V = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
||
| LpNormalization | in input:T out output:T |
1+ | T = tensor(double), tensor(float) |
| LpPool | in X:T out Y:T |
11+ | T = tensor(float) |
| [2, 10] | T = tensor(float) | ||
| MatMul | in A:T in B:T out Y:T |
13+ | T = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64) |
| [9, 12] | T = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64) | ||
| [1, 8] | T = tensor(double), tensor(float) | ||
| MatMulInteger | in A:T1 in B:T2 in a_zero_point:T1 in b_zero_point:T2 out Y:T3 |
10+ | T1 = tensor(int8), tensor(uint8) T2 = tensor(int8), tensor(uint8) T3 = tensor(int32) |
| Max | in data_0:T out max:T |
13+ | T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64) |
| 12 | T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64) | ||
| [8, 11] | T = tensor(double), tensor(float) | ||
| [6, 7] | T = tensor(float) | ||
| MaxPool | in X:T out Y:T or in X:T out Y:T out Indices:I |
12+ | I = tensor(int64) T = tensor(double), tensor(float), tensor(int8), tensor(uint8) |
| [8, 11] | I = tensor(int64) T = tensor(double), tensor(float) |
||
| [1, 7] | T = tensor(float) | ||
| MaxRoiPool | in X:T in rois:T out Y:T |
1+ | T = tensor(float) |
| MaxUnpool | in X:T1 in I:T2 in output_shape:T2 out output:T1 |
11+ | T1 = tensor(float) T2 = tensor(int64) |
| [9, 10] | T1 = tensor(float) T2 = tensor(int64) |
||
| Mean | in data_0:T out mean:T |
13+ | T = tensor(float) |
| [8, 12] | T = tensor(float) | ||
| [6, 7] | T = tensor(float) | ||
| MeanVarianceNormalization | in X:T out Y:T or in input:T out output:T |
13+ | T = tensor(float) |
| [9, 12] | T = tensor(float) | ||
| [1, 8] | T = tensor(float) | ||
| MelWeightMatrix | in num_mel_bins:T1 in dft_length:T1 in sample_rate:T1 in lower_edge_hertz:T2 in upper_edge_hertz:T2 out output:T3 |
17+ | T1 = tensor(int32), tensor(int64) T2 = tensor(float) T3 = tensor(double), tensor(float), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| Min | in data_0:T out min:T |
13+ | T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64) |
| 12 | T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64) | ||
| [8, 11] | T = tensor(double), tensor(float) | ||
| [6, 7] | T = tensor(float) | ||
| Mod | in A:T in B:T out C:T |
13+ | T = tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| [10, 12] | T = tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| Mul | in A:T in B:T out C:T |
14+ | T = tensor(double), tensor(float), tensor(int32), tensor(int64) |
| 13 | T = tensor(double), tensor(float), tensor(int32), tensor(int64) | ||
| [7, 12] | T = tensor(double), tensor(float), tensor(int32), tensor(int64) | ||
| Multinomial | in input:T1 out output:T2 |
7+ | T1 = tensor(float) T2 = tensor(int32), tensor(int64) |
| Neg | in X:T out Y:T |
13+ | T = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(int8) |
| [6, 12] | T = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(int8) | ||
| NonZero | in X:T out Y:tensor(int64) |
13+ | T = tensor(bool), tensor(float), tensor(int32), tensor(int64), tensor(uint8) |
| [9, 12] | T = tensor(bool), tensor(float), tensor(int32), tensor(int64), tensor(uint8) | ||
| Not | in X:T out Y:T |
1+ | T = tensor(bool) |
| OneHot | in indices:T1 in depth:T2 in values:T3 out output:T3 |
11+ | T1 = tensor(float), tensor(int32), tensor(int64) T2 = tensor(float), tensor(int32), tensor(int64) T3 = tensor(float), tensor(int32), tensor(int64), tensor(string) |
| [9, 10] | T1 = tensor(float), tensor(int32), tensor(int64) T2 = tensor(float), tensor(int32), tensor(int64) T3 = tensor(float), tensor(int32), tensor(int64), tensor(string) |
||
| Optional | in input:V out output:O |
15+ | O = optional(seq(tensor(bfloat16))), optional(seq(tensor(bool))), optional(seq(tensor(double))), optional(seq(tensor(float))), optional(seq(tensor(float16))), optional(seq(tensor(int16))), optional(seq(tensor(int32))), optional(seq(tensor(int64))), optional(seq(tensor(int8))), optional(seq(tensor(string))), optional(seq(tensor(uint16))), optional(seq(tensor(uint32))), optional(seq(tensor(uint64))), optional(seq(tensor(uint8))), optional(tensor(bfloat16)), optional(tensor(bool)), optional(tensor(double)), optional(tensor(float)), optional(tensor(float16)), optional(tensor(int16)), optional(tensor(int32)), optional(tensor(int64)), optional(tensor(int8)), optional(tensor(string)), optional(tensor(uint16)), optional(tensor(uint32)), optional(tensor(uint64)), optional(tensor(uint8)) V = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(string)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8)), tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| OptionalGetElement | in input:O out output:V |
15+ | O = optional(seq(tensor(bfloat16))), optional(seq(tensor(bool))), optional(seq(tensor(double))), optional(seq(tensor(float))), optional(seq(tensor(float16))), optional(seq(tensor(int16))), optional(seq(tensor(int32))), optional(seq(tensor(int64))), optional(seq(tensor(int8))), optional(seq(tensor(string))), optional(seq(tensor(uint16))), optional(seq(tensor(uint32))), optional(seq(tensor(uint64))), optional(seq(tensor(uint8))), optional(tensor(bfloat16)), optional(tensor(bool)), optional(tensor(double)), optional(tensor(float)), optional(tensor(float16)), optional(tensor(int16)), optional(tensor(int32)), optional(tensor(int64)), optional(tensor(int8)), optional(tensor(string)), optional(tensor(uint16)), optional(tensor(uint32)), optional(tensor(uint64)), optional(tensor(uint8)) V = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(string)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8)), tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| OptionalHasElement | in input:O out output:B |
15+ | B = tensor(bool) O = optional(seq(tensor(bfloat16))), optional(seq(tensor(bool))), optional(seq(tensor(double))), optional(seq(tensor(float))), optional(seq(tensor(float16))), optional(seq(tensor(int16))), optional(seq(tensor(int32))), optional(seq(tensor(int64))), optional(seq(tensor(int8))), optional(seq(tensor(string))), optional(seq(tensor(uint16))), optional(seq(tensor(uint32))), optional(seq(tensor(uint64))), optional(seq(tensor(uint8))), optional(tensor(bfloat16)), optional(tensor(bool)), optional(tensor(double)), optional(tensor(float)), optional(tensor(float16)), optional(tensor(int16)), optional(tensor(int32)), optional(tensor(int64)), optional(tensor(int8)), optional(tensor(string)), optional(tensor(uint16)), optional(tensor(uint32)), optional(tensor(uint64)), optional(tensor(uint8)) |
| Or | in A:T in B:T out C:T1 |
7+ | T = tensor(bool) T1 = tensor(bool) |
| PRelu | in X:T in slope:T out Y:T |
16+ | T = tensor(float) |
| [9, 15] | T = tensor(float) | ||
| [7, 8] | T = tensor(float) | ||
| Pad | in data:T in pads:tensor(int64) in constant_value:T out output:T or in data:T out output:T |
13+ | T = tensor(bool), tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(int8), tensor(uint32), tensor(uint64), tensor(uint8) |
| [11, 12] | T = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(int8), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| [2, 10] | T = tensor(double), tensor(float) | ||
| ParametricSoftplus | in X:T out Y:T |
1+ | T = tensor(float) |
| Pow | in X:T in Y:T out Z:T or in X:T in Y:T1 out Z:T |
15+ | T = tensor(double), tensor(float), tensor(int32), tensor(int64) T1 = tensor(double), tensor(float), tensor(int32), tensor(int64) |
| [13, 14] | T = tensor(double), tensor(float), tensor(int32), tensor(int64) T1 = tensor(double), tensor(float), tensor(int32), tensor(int64) |
||
| 12 | T = tensor(double), tensor(float), tensor(int32), tensor(int64) T1 = tensor(double), tensor(float), tensor(int32), tensor(int64) |
||
| [7, 11] | T = tensor(double), tensor(float) | ||
| QLinearConv | in x:T1 in x_scale:tensor(float) in x_zero_point:T1 in w:T2 in w_scale:tensor(float) in w_zero_point:T2 in y_scale:tensor(float) in y_zero_point:T3 in B:T4 out y:T3 |
10+ | T1 = tensor(int8), tensor(uint8) T2 = tensor(int8), tensor(uint8) T3 = tensor(int8), tensor(uint8) T4 = tensor(int32) |
| QLinearMatMul | in a:T1 in a_scale:tensor(float) in a_zero_point:T1 in b:T2 in b_scale:tensor(float) in b_zero_point:T2 in y_scale:tensor(float) in y_zero_point:T3 out y:T3 |
10+ | T1 = tensor(int8), tensor(uint8) T2 = tensor(int8), tensor(uint8) T3 = tensor(int8), tensor(uint8) |
| QuantizeLinear | in x:T1 in y_scale:tensor(float) in y_zero_point:T2 out y:T2 |
13+ | T1 = tensor(float) T2 = tensor(int8), tensor(uint8) |
| [10, 12] | T1 = tensor(float) T2 = tensor(int8), tensor(uint8) |
||
| RNN | in X:T in W:T in R:T in B:T in sequence_lens:T1 in initial_h:T out Y:T out Y_h:T |
14+ | T = tensor(float) T1 = tensor(int32) |
| [7, 13] | T = tensor(float) T1 = tensor(int32) |
||
| RandomNormal | out output:T | 1+ | T = tensor(double), tensor(float) |
| RandomNormalLike | in input:T1 out output:T2 |
1+ | T1 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T2 = tensor(double), tensor(float) |
| RandomUniform | out output:T | 1+ | T = tensor(double), tensor(float) |
| RandomUniformLike | in input:T1 out output:T2 |
1+ | T1 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T2 = tensor(double), tensor(float) |
| Range | in start:T in limit:T in delta:T out output:T |
11+ | T = tensor(double), tensor(float), tensor(int16), tensor(int32), tensor(int64) |
| Reciprocal | in X:T out Y:T |
13+ | T = tensor(double), tensor(float) |
| [6, 12] | T = tensor(double), tensor(float) | ||
| ReduceL1 | in data:T out reduced:T |
13+ | T = tensor(float), tensor(int32) |
| [11, 12] | T = tensor(float), tensor(int32) | ||
| [1, 10] | T = tensor(float), tensor(int32) | ||
| ReduceL2 | in data:T out reduced:T |
13+ | T = tensor(float), tensor(int32) |
| [11, 12] | T = tensor(float), tensor(int32) | ||
| [1, 10] | T = tensor(float), tensor(int32) | ||
| ReduceLogSum | in data:T out reduced:T |
13+ | T = tensor(float), tensor(int32) |
| [11, 12] | T = tensor(float), tensor(int32) | ||
| [1, 10] | T = tensor(float), tensor(int32) | ||
| ReduceLogSumExp | in data:T out reduced:T |
13+ | T = tensor(double), tensor(float), tensor(int32) |
| [11, 12] | T = tensor(double), tensor(float), tensor(int32) | ||
| [1, 10] | T = tensor(double), tensor(float), tensor(int32) | ||
| ReduceMax | in data:T out reduced:T |
13+ | T = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(int8), tensor(uint8) |
| 12 | T = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(int8), tensor(uint8) | ||
| 11 | T = tensor(double), tensor(float), tensor(int32), tensor(int64) | ||
| [1, 10] | T = tensor(double), tensor(float), tensor(int32), tensor(int64) | ||
| ReduceMean | in data:T out reduced:T |
13+ | T = tensor(double), tensor(float), tensor(int32) |
| [11, 12] | T = tensor(double), tensor(float), tensor(int32) | ||
| [1, 10] | T = tensor(double), tensor(float), tensor(int32) | ||
| ReduceMin | in data:T out reduced:T |
13+ | T = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(int8), tensor(uint8) |
| 12 | T = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(int8), tensor(uint8) | ||
| 11 | T = tensor(double), tensor(float), tensor(int32), tensor(int64) | ||
| [1, 10] | T = tensor(double), tensor(float), tensor(int32), tensor(int64) | ||
| ReduceProd | in data:T out reduced:T |
13+ | T = tensor(float), tensor(int32), tensor(int64) |
| [11, 12] | T = tensor(float), tensor(int32), tensor(int64) | ||
| [1, 10] | T = tensor(float), tensor(int32), tensor(int64) | ||
| ReduceSum | in data:T in axes:tensor(int64) out reduced:T or in data:T out reduced:T |
13+ | T = tensor(double), tensor(float), tensor(int32), tensor(int64) |
| [11, 12] | T = tensor(double), tensor(float), tensor(int32), tensor(int64) | ||
| [1, 10] | T = tensor(double), tensor(float), tensor(int32), tensor(int64) | ||
| ReduceSumSquare | in data:T out reduced:T |
13+ | T = tensor(double), tensor(float), tensor(int32) |
| [11, 12] | T = tensor(double), tensor(float), tensor(int32) | ||
| [1, 10] | T = tensor(double), tensor(float), tensor(int32) | ||
| Relu | in X:T out Y:T |
14+ | T = tensor(double), tensor(float), tensor(int32), tensor(int8) |
| 13 | T = tensor(double), tensor(float) | ||
| [6, 12] | T = tensor(double), tensor(float) | ||
| Reshape | in data:T in shape:tensor(int64) out reshaped:T or in data:T out reshaped:T |
14+ | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) shape = tensor(int64) |
| 13 | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) shape = tensor(int64) |
||
| [5, 12] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) shape = tensor(int64) |
||
| [1, 4] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| Resize | in X:T in scales:tensor(float) out Y:T or in X:T1 in roi:T2 in scales:tensor(float) in sizes:tensor(int64) out Y:T1 |
13+ | T1 = tensor(float), tensor(int32), tensor(int8), tensor(uint8) |
| [11, 12] | T1 = tensor(float), tensor(int32), tensor(int8), tensor(uint8) | ||
| 10 | T = tensor(float), tensor(int32), tensor(int8), tensor(uint8) | ||
| ReverseSequence | in input:T in sequence_lens:tensor(int64) out Y:T |
10+ | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| RoiAlign | in X:T1 in rois:T1 in batch_indices:T2 out Y:T1 |
16+ | T1 = tensor(double), tensor(float) T2 = tensor(int64) |
| [10, 15] | T1 = tensor(double), tensor(float) T2 = tensor(int64) |
||
| Round | in X:T out Y:T |
11+ | T = tensor(double), tensor(float), tensor(float16) |
| STFT | in signal:T1 in frame_step:T2 in window:T1 in frame_length:T2 out output:T1 |
17+ | T1 = tensor(double), tensor(float) T2 = tensor(int32), tensor(int64) |
| Scale | in input:T out output:T |
1+ | T = tensor(float) |
| ScaledTanh | in input:T out output:T |
1+ | T = tensor(float) |
| Scan | in initial_state_and_scan_inputs:V out final_state_and_scan_outputs:V or in sequence_lens:I in initial_state_and_scan_inputs:V out final_state_and_scan_outputs:V |
16+ | V = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| [11, 15] | V = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| [9, 10] | V = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| 8 | I = tensor(int64) V = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
||
| Scatter | in data:T in indices:Tind in updates:T out output:T |
[9, 10] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) Tind = tensor(int32), tensor(int64) |
| ScatterElements | in data:T in indices:Tind in updates:T out output:T |
16+ | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) Tind = tensor(int32), tensor(int64) |
| [13, 15] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) Tind = tensor(int32), tensor(int64) |
||
| [11, 12] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) Tind = tensor(int32), tensor(int64) |
||
| ScatterND | in data:T in indices:tensor(int64) in updates:T out output:T |
16+ | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| [13, 15] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| [11, 12] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| Selu | in X:T out Y:T |
6+ | T = tensor(float) |
| SequenceAt | in input_sequence:S in position:I out tensor:T |
11+ | I = tensor(int32), tensor(int64) S = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(string)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8)) T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| SequenceConstruct | in inputs:T out output_sequence:S |
11+ | S = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(string)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8)) T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| SequenceEmpty | out output:S | 11+ | S = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(string)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8)) |
| SequenceErase | in input_sequence:S in position:I out output_sequence:S |
11+ | I = tensor(int32), tensor(int64) S = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(string)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8)) |
| SequenceInsert | in input_sequence:S in tensor:T in position:I out output_sequence:S |
11+ | I = tensor(int32), tensor(int64) S = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(string)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8)) |
| SequenceLength | in input_sequence:S out length:I |
11+ | I = tensor(int64) S = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(string)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8)) |
| Shape | in data:T out shape:T1 |
15+ | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T1 = tensor(int64) |
| [13, 14] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T1 = tensor(int64) |
||
| [1, 12] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T1 = tensor(int64) |
||
| Shrink | in input:T out output:T |
9+ | T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| Sigmoid | in X:T out Y:T |
13+ | T = tensor(double), tensor(float) |
| [6, 12] | T = tensor(double), tensor(float) | ||
| Sign | in input:T out output:T |
13+ | T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| [9, 12] | T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| SimplifiedLayerNormalization | in X:T in scale:V out Y:V out inv_std_var:U |
1+ | T = tensor(double), tensor(float) U = tensor(double), tensor(float) V = tensor(double), tensor(float) |
| Sin | in input:T out output:T |
7+ | T = tensor(double), tensor(float) |
| Sinh | in input:T out output:T |
9+ | T = tensor(float) |
| Size | in data:T out size:T1 |
13+ | T = tensor(bool), tensor(double), tensor(float), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T1 = tensor(int64) |
| [1, 12] | T = tensor(bool), tensor(double), tensor(float), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T1 = tensor(int64) |
||
| Slice | in data:T in starts:Tind in ends:Tind in axes:Tind in steps:Tind out output:T or in data:T out output:T |
13+ | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) Tind = tensor(int32), tensor(int64) |
| [11, 12] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) Tind = tensor(int32), tensor(int64) |
||
| 10 | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) Tind = tensor(int32), tensor(int64) |
||
| [1, 9] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| Softmax | in input:T out output:T |
13+ | T = tensor(double), tensor(float) |
| [11, 12] | T = tensor(double), tensor(float) | ||
| [1, 10] | T = tensor(double), tensor(float) | ||
| Softplus | in X:T out Y:T |
1+ | T = tensor(float) |
| Softsign | in input:T out output:T |
1+ | T = tensor(float) |
| SpaceToDepth | in input:T out output:T |
13+ | T = tensor(double), tensor(float) |
| [1, 12] | T = tensor(double), tensor(float) | ||
| Split | in input:T in split:T out outputs...:T or in input:T in split:tensor(int64) out outputs:T or in input:T out outputs:T |
13+ | T = tensor(float), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint8) |
| [11, 12] | T = tensor(float), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint8) | ||
| [2, 10] | T = tensor(float), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint8) | ||
| SplitToSequence | in input:T in split:I out output_sequence:S |
11+ | I = tensor(int32), tensor(int64) S = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(string)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8)) T = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(string) |
| Sqrt | in X:T out Y:T |
13+ | T = tensor(double), tensor(float) |
| [6, 12] | T = tensor(double), tensor(float) | ||
| Squeeze | in data:T in axes:tensor(int64) out squeezed:T or in data:T out squeezed:T |
13+ | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| [11, 12] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| [1, 10] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| StringNormalizer | in X:tensor(string) out Y:tensor(string) |
10+ | X = tensor(string) |
| Sub | in A:T in B:T out C:T |
14+ | T = tensor(double), tensor(float), tensor(int32), tensor(int64) |
| 13 | T = tensor(double), tensor(float), tensor(int32), tensor(int64) | ||
| [7, 12] | T = tensor(double), tensor(float), tensor(int32), tensor(int64) | ||
| Sum | in data_0:T out sum:T |
13+ | T = tensor(double), tensor(float) |
| [8, 12] | T = tensor(double), tensor(float) | ||
| [6, 7] | T = tensor(double), tensor(float) | ||
| Tan | in input:T out output:T |
7+ | T = tensor(float) |
| Tanh | in input:T out output:T |
13+ | T = tensor(double), tensor(float) |
| [6, 12] | T = tensor(double), tensor(float) | ||
| TfIdfVectorizer | in X:T out Y:T1 |
9+ | T = tensor(int32), tensor(int64), tensor(string) T1 = tensor(float) |
| ThresholdedRelu | in X:T out Y:T |
10+ | T = tensor(float) |
| [1, 9] | T = tensor(float) | ||
| Tile | in input:T in repeats:T1 out output:T or in input:T in tiles:T in axis:T out output:T |
13+ | T = tensor(bool), tensor(double), tensor(float), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T1 = tensor(int64) |
| [6, 12] | T = tensor(bool), tensor(double), tensor(float), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T1 = tensor(int64) |
||
| TopK | in X:T in K:tensor(int64) out Values:T out Indices:I or in X:T out Values:T out Indices:I |
11+ | I = tensor(int64) T = tensor(double), tensor(float), tensor(int32), tensor(int64) |
| 10 | I = tensor(int64) T = tensor(double), tensor(float) |
||
| [1, 9] | I = tensor(int64) T = tensor(double), tensor(float) |
||
| Transpose | in data:T out transposed:T |
13+ | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| [1, 12] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| Trilu | in input:T in k:tensor(int64) out output:T |
14+ | T = tensor(double), tensor(float), tensor(int64) |
| Unique | in X:T out Y:T out indices:tensor(int64) out inverse_indices:tensor(int64) out counts:tensor(int64) |
11+ | T = tensor(float), tensor(int64), tensor(int8), tensor(string) |
| Unsqueeze | in data:T in axes:tensor(int64) out expanded:T or in data:T out expanded:T |
13+ | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| [11, 12] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| [1, 10] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| Upsample | in X:T in scales:tensor(float) out Y:T or in X:T out Y:T |
9 | T = tensor(float), tensor(int32), tensor(int8), tensor(uint8) |
| [7, 8] | T = tensor(float), tensor(int32), tensor(int8), tensor(uint8) | ||
| Where | in condition:B in X:T in Y:T out output:T |
16+ | T = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(string), tensor(uint8) |
| [9, 15] | T = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(string), tensor(uint8) | ||
| Xor | in A:T in B:T out C:T1 |
7+ | T = tensor(bool) T1 = tensor(bool) |
| Operator Domain: ai.onnx.ml | |||
| ArrayFeatureExtractor | in X:T in Y:tensor(int64) out Z:T |
1+ | T = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(string) |
| Binarizer | in X:T out Y:T |
1+ | T = tensor(float) |
| CastMap | in X:T1 out Y:T2 |
1+ | T1 = map(int64,tensor(float)), map(int64,tensor(string)) T2 = tensor(float), tensor(int64), tensor(string) |
| CategoryMapper | in X:T1 out Y:T2 |
1+ | T1 = tensor(int64), tensor(string) T2 = tensor(int64), tensor(string) |
| DictVectorizer | in X:T1 out Y:T2 |
1+ | T1 = map(int64,tensor(double)), map(int64,tensor(float)), map(int64,tensor(string)), map(string,tensor(double)), map(string,tensor(float)), map(string,tensor(int64)) T2 = tensor(double), tensor(float), tensor(int64), tensor(string) |
| FeatureVectorizer | in X:T1 out Y:tensor(float) |
1+ | T1 = tensor(double), tensor(float), tensor(int32), tensor(int64) |
| Imputer | in X:T out Y:T |
1+ | T = tensor(float), tensor(int64) |
| LabelEncoder | in X:T1 out Y:T2 |
2+ | T1 = tensor(float), tensor(int64), tensor(string) T2 = tensor(float), tensor(int64), tensor(string) |
| 1 | T1 = tensor(int64), tensor(string) T2 = tensor(int64), tensor(string) |
||
| LinearClassifier | in X:T1 out Y:T2 out Z:tensor(float) |
1+ | T1 = tensor(double), tensor(float), tensor(int32), tensor(int64) T2 = tensor(int64), tensor(string) |
| LinearRegressor | in X:T out Y:tensor(float) |
1+ | T = tensor(float) |
| Normalizer | in X:T out Y:tensor(float) |
1+ | T = tensor(double), tensor(float), tensor(int32), tensor(int64) |
| OneHotEncoder | in X:T out Y:tensor(float) |
1+ | T = tensor(double), tensor(float), tensor(int64), tensor(string) |
| SVMClassifier | in X:T1 out Y:T2 out Z:tensor(float) |
1+ | T1 = tensor(double), tensor(float), tensor(int32), tensor(int64) T2 = tensor(int64), tensor(string) |
| SVMRegressor | in X:T out Y:tensor(float) |
1+ | T = tensor(float) |
| Scaler | in X:T out Y:tensor(float) |
1+ | T = tensor(double), tensor(float), tensor(int32), tensor(int64) |
| TreeEnsembleClassifier | in X:T1 out Y:T2 out Z:tensor(float) |
3+ | T1 = tensor(double), tensor(float), tensor(int32), tensor(int64) T2 = tensor(int64), tensor(string) |
| [1, 2] | T1 = tensor(double), tensor(float), tensor(int32), tensor(int64) T2 = tensor(int64), tensor(string) |
||
| TreeEnsembleRegressor | in X:T out Y:tensor(float) |
3+ | T = tensor(double), tensor(float) |
| [1, 2] | T = tensor(double), tensor(float) | ||
| ZipMap | in X:tensor(float) out Z:T |
1+ | T = seq(map(int64,tensor(float))), seq(map(string,tensor(float))) |
| Operator Domain: com.microsoft | |||
| Attention | in input:T in weight:T in bias:T in mask_index:M in past:T in extra_add:T out output:T out present:T |
1+ | T = tensor(float) |
| AttnLSTM | in X:T in W:T in R:T in B:T in sequence_lens:T1 in initial_h:T in initial_c:T in P:T in QW:T in MW:T in V:T in M:T in memory_seq_lens:T1 in AW:T out Y:T out Y_h:T out Y_c:T |
1+ | T = tensor(double), tensor(float) T1 = tensor(int32) |
| BeamSearch | in input_ids:I in max_length:I in min_length:I in num_beams:I in num_return_sequences:I in length_penalty:T in repetition_penalty:T in vocab_mask:M in prefix_vocab_mask:M in attention_mask:I out sequences:I out sequences_scores:T out scores:T |
1+ | T = tensor(float) |
| BiasGelu | in A:T in B:T out C:T |
1+ | T = tensor(float) |
| BifurcationDetector | in src_tokens:T in cur_tokens:T in prev_suffix_match_idx:T in pred_tokens:T out tokens:T out suffix_match_idx:T |
1+ | T = tensor(int64) |
| CDist | in A:T in B:T out C:T |
1+ | T = tensor(double), tensor(float) |
| ConvTransposeWithDynamicPads | in X:T in W:T in Pads:tensor(int64) in B:T out Y:T |
1+ | T = tensor(float) |
| CropAndResize | in X:T1 in rois:T1 in batch_indices:T2 in crop_size:T2 out Y:T1 |
1+ | T1 = tensor(float) T2 = tensor(int32) |
| DequantizeLinear | in x:T1 in x_scale:T2 in x_zero_point:T1 out y:T2 |
1+ | T1 = tensor(int8), tensor(uint8) T2 = tensor(float) |
| DynamicQuantizeLSTM | in X:T in W:T2 in R:T2 in B:T in sequence_lens:T1 in initial_h:T in initial_c:T in P:T in W_scale:T in W_zero_point:T2 in R_scale:T in R_zero_point:T2 out Y:T out Y_h:T out Y_c:T |
1+ | T = tensor(float) T1 = tensor(int32) T2 = tensor(int8), tensor(uint8) |
| DynamicQuantizeMatMul | in A:T1 in B:T2 in b_scale:T1 in b_zero_point:T2 in bias:T1 out Y:T1 |
1+ | T1 = tensor(float) T2 = tensor(int8), tensor(uint8) |
| EmbedLayerNormalization | in input_ids:T1 in segment_ids:T1 in word_embedding:T in position_embedding:T in segment_embedding:T in gamma:T in beta:T in mask:T1 in position_ids:T1 out output:T out mask_index:T1 out embedding_sum:T |
1+ | T = tensor(float) |
| ExpandDims | in X:T in axis:tensor(int32) out Y:T |
1+ | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) axis = tensor(int32) |
| FastGelu | in X:T in bias:T out Y:T |
1+ | T = tensor(float) |
| FusedConv | in X:T in W:T in B:T in Z:T out Y:T |
1+ | T = tensor(float) |
| FusedGemm | in A:T in B:T in C:T out Y:T |
1+ | T = tensor(float) |
| FusedMatMul | in A:T in B:T out Y:T |
1+ | T = tensor(float) |
| GatherND | in data:T in indices:Tind out output:T |
1+ | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) Tind = tensor(int32), tensor(int64) |
| Gelu | in X:T out Y:T |
1+ | T = tensor(float) |
| GridSample | in X:T1 in Grid:T1 out Y:T2 |
1+ | T1 = tensor(float) T2 = tensor(float) |
| Inverse | in X:T out Y:T |
1+ | T = tensor(double), tensor(float), tensor(float16) |
| MatMulInteger16 | in A:T1 in B:T2 out Y:T3 |
1+ | T1 = tensor(int16) T2 = tensor(int16) T3 = tensor(int32) |
| MatMulIntegerToFloat | in A:T1 in B:T2 in a_scale:T3 in b_scale:T3 in a_zero_point:T1 in b_zero_point:T2 in bias:T3 out Y:T3 |
1+ | T1 = tensor(int8), tensor(uint8) T2 = tensor(int8), tensor(uint8) T3 = tensor(float) |
| MaxpoolWithMask | in X:T in M:tensor(int32) out Y:T |
1+ | X = tensor(float) |
| MurmurHash3 | in X:T1 out Y:T2 |
1+ | T1 = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(string), tensor(uint32), tensor(uint64) T2 = tensor(int32), tensor(uint32) |
| NGramRepeatBlock | in input_ids:Tid in scores:T out scores_out:T |
1+ | T = tensor(float) Tid = tensor(int64) |
| NhwcMaxPool | in x:T out y:T |
1+ | T = tensor(int8), tensor(uint8) |
| Pad | in data:T in pads:tensor(int64) in value:T out output:T |
1+ | T = tensor(float) |
| QAttention | in input:T1 in weight:T2 in bias:T3 in input_scale:T3 in weight_scale:T3 in mask_index:T4 in input_zero_point:T1 in weight_zero_point:T2 in past:T3 out output:T3 out present:T3 |
1+ | T1 = tensor(uint8) T2 = tensor(int8), tensor(uint8) T3 = tensor(float) T4 = tensor(int32) |
| QEmbedLayerNormalization | in input_ids:T1 in segment_ids:T1 in word_embedding_quant:T2 in position_embedding_quant:T2 in segment_embedding:T2 in gamma_quant:T2 in beta_quant:T2 in mask:T1 in word_embedding_scale:T in position_embedding_scale:T in segment_embedding_scale:T in gamma_scale:T in beta_scale:T in word_embedding_zero_point:T2 in position_embedding_zero_point:T2 in segment_embedding_zero_point:T2 in gamma_zero_point:T2 in beta_zero_point:T2 out layernorm_out:T out mask_index_out:T1 |
1+ | T = tensor(float) |
| QGemm | in A:TA in a_scale:T in a_zero_point:TA in B:TB in b_scale:T in b_zero_point:TB in C:TC in y_scale:T in y_zero_point:TYZ out Y:TY |
1+ | T = tensor(float) TA = tensor(int8), tensor(uint8) TB = tensor(int8), tensor(uint8) TC = tensor(int32) TY = tensor(float), tensor(int8), tensor(uint8) TYZ = tensor(int8), tensor(uint8) |
| QLinearAdd | in A:T in A_scale:tensor(float) in A_zero_point:T in B:T in B_scale:tensor(float) in B_zero_point:T in C_scale:tensor(float) in C_zero_point:T out C:T |
1+ | T = tensor(int8), tensor(uint8) |
| QLinearConv | in x:T1 in x_scale:tensor(float) in x_zero_point:T1 in w:T2 in w_scale:tensor(float) in w_zero_point:T2 in y_scale:tensor(float) in y_zero_point:T3 in B:T4 out y:T3 |
1+ | T1 = tensor(int8), tensor(uint8) T2 = tensor(int8), tensor(uint8) T3 = tensor(int8), tensor(uint8) T4 = tensor(int32) |
| QLinearLeakyRelu | in X:T in X_scale:tensor(float) in X_zero_point:T in Y_scale:tensor(float) in Y_zero_point:T out Y:T |
1+ | T = tensor(int8), tensor(uint8) |
| QLinearMul | in A:T in A_scale:tensor(float) in A_zero_point:T in B:T in B_scale:tensor(float) in B_zero_point:T in C_scale:tensor(float) in C_zero_point:T out C:T |
1+ | T = tensor(int8), tensor(uint8) |
| QLinearSigmoid | in X:T in X_scale:tensor(float) in X_zero_point:T in Y_scale:tensor(float) in Y_zero_point:T out Y:T |
1+ | T = tensor(int8), tensor(uint8) |
| QuantizeLinear | in x:T1 in y_scale:T1 in y_zero_point:T2 out y:T2 |
1+ | T1 = tensor(float) T2 = tensor(int8), tensor(uint8) |
| Range | in start:T in limit:T in delta:T out Y:T |
1+ | T = tensor(double), tensor(float), tensor(int16), tensor(int32), tensor(int64) |
| SampleOp | in X:T out Y:T |
1+ | T = tensor(float) |
| SkipLayerNormalization | in input:T in skip:T in gamma:T in beta:T in bias:T out output:T out mean:U out inv_std_var:U |
1+ | T = tensor(double), tensor(float) |
| SparseToDenseMatMul | in A:T in B:T1 out Y:T1 |
1+ | T = sparse_tensor(double), sparse_tensor(float), sparse_tensor(int32), sparse_tensor(int64), sparse_tensor(uint32), sparse_tensor(uint64) T1 = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64) |
| Tokenizer | in X:T out Y:T |
1+ | T = tensor(string) |
| TransposeMatMul | in A:T in B:T out Y:T |
1+ | T = tensor(float) |
| Trilu | in X:T in k:tensor(int64) out Y:T |
1+ | T = tensor(double), tensor(float), tensor(int64) |
| Unique | in x:T out y:T out idx:tensor(int64) out counts:tensor(int64) |
1+ | T = tensor(float) |
| WordConvEmbedding | in Sequence:T in W:T1 in B:T1 in C:T1 out Y:T1 |
1+ | T = tensor(int32) T1 = tensor(float) |
| Operator Domain: com.microsoft.nchwc | |||
| AveragePool | in X:T out Y:T |
1+ | T = tensor(float) |
| Conv | in X:T in W:T in B:T in Sum:T out Y:T |
1+ | T = tensor(float) |
| GlobalAveragePool | in X:T out Y:T |
1+ | T = tensor(float) |
| GlobalMaxPool | in X:T out Y:T |
1+ | T = tensor(float) |
| MaxPool | in X:T out Y:T |
1+ | T = tensor(float) |
| ReorderInput | in X:T out Y:T |
1+ | T = tensor(float) |
| ReorderOutput | in X:T out Y:T |
1+ | T = tensor(float) |
| Upsample | in X:T out Y:T |
1+ | T = tensor(float) |
Operators implemented by CUDAExecutionProvider
| Op Name | Parameters | OpSet Version | Types Supported |
|---|---|---|---|
| Operator Domain: ai.onnx | |||
| Abs | in X:T out Y:T |
13+ | T = tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| [6, 12] | T = tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| Add | in A:T in B:T out C:T |
14+ | T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64) |
| 13 | T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64) | ||
| [7, 12] | T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64) | ||
| Affine | in X:T out Y:T |
1+ | T = tensor(double), tensor(float), tensor(float16) |
| And | in A:T in B:T out C:T1 |
7+ | T = tensor(bool) T1 = tensor(bool) |
| ArgMax | in data:T out reduced:tensor(int64) |
11+ | T = tensor(double), tensor(float), tensor(float16) |
| [1, 10] | T = tensor(double), tensor(float), tensor(float16) | ||
| ArgMin | in data:T out reduced:tensor(int64) |
11+ | T = tensor(double), tensor(float), tensor(float16) |
| [1, 10] | T = tensor(double), tensor(float), tensor(float16) | ||
| AveragePool | in X:T out Y:T |
11+ | T = tensor(double), tensor(float), tensor(float16) |
| 10 | T = tensor(double), tensor(float), tensor(float16) | ||
| [7, 9] | T = tensor(double), tensor(float), tensor(float16) | ||
| BatchNormalization | in X:T in scale:T in B:T in input_mean:U in input_var:U out Y:T out running_mean:U out running_var:U or in X:T in scale:T in B:T in mean:T in var:T out Y:T out mean:T out var:T out saved_mean:T out saved_var:T or in X:T in scale:T1 in B:T1 in input_mean:T2 in input_var:T2 out Y:T out running_mean:T2 out running_var:T2 |
15+ | T = tensor(double), tensor(float), tensor(float16) T1 = tensor(double), tensor(float), tensor(float16) T2 = tensor(double), tensor(float), tensor(float16) |
| 14 | T = tensor(double), tensor(float), tensor(float16) U = tensor(double), tensor(float), tensor(float16) |
||
| [9, 13] | T = tensor(double), tensor(float), tensor(float16) | ||
| [7, 8] | T = tensor(double), tensor(float), tensor(float16) | ||
| Cast | in input:T1 out output:T2 |
13+ | T1 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T2 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| [9, 12] | T1 = tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T2 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
||
| [6, 8] | T1 = tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T2 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
||
| Ceil | in X:T out Y:T |
13+ | T = tensor(double), tensor(float), tensor(float16) |
| [6, 12] | T = tensor(double), tensor(float), tensor(float16) | ||
| Clip | in input:T in min:T in max:T out output:T or in input:T out output:T |
13+ | T = tensor(double), tensor(float), tensor(float16), tensor(int64), tensor(int8), tensor(uint64), tensor(uint8) |
| 12 | T = tensor(double), tensor(float), tensor(float16), tensor(int64), tensor(int8), tensor(uint64), tensor(uint8) | ||
| 11 | T = tensor(float) | ||
| [6, 10] | T = tensor(float) | ||
| Compress | in input:T in condition:T1 out output:T |
11+ | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T1 = tensor(bool) |
| [9, 10] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T1 = tensor(bool) |
||
| Concat | in inputs:T out concat_result:T |
13+ | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| [11, 12] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| [4, 10] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| ConcatFromSequence | in input_sequence:S out concat_result:T |
11+ | S = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8)) |
| ConstantOfShape | in input:T1 out output:T2 |
9+ | T1 = tensor(int64) T2 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| Conv | in X:T in W:T in B:T out Y:T |
11+ | T = tensor(double), tensor(float), tensor(float16) |
| [1, 10] | T = tensor(double), tensor(float), tensor(float16) | ||
| ConvTranspose | in X:T in W:T in B:T out Y:T |
11+ | T = tensor(double), tensor(float), tensor(float16) |
| [1, 10] | T = tensor(double), tensor(float), tensor(float16) | ||
| Cos | in input:T out output:T |
7+ | T = tensor(double), tensor(float), tensor(float16) |
| Crop | in input:T out output:T |
1+ | T = tensor(double), tensor(float), tensor(float16) |
| CumSum | in x:T in axis:T2 out y:T |
14+ | T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64) T2 = tensor(int32), tensor(int64) |
| [11, 13] | T = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64) T2 = tensor(int32), tensor(int64) |
||
| DepthToSpace | in input:T out output:T |
13+ | T = tensor(double), tensor(float), tensor(float16) |
| [11, 12] | T = tensor(double), tensor(float), tensor(float16) | ||
| [1, 10] | T = tensor(double), tensor(float), tensor(float16) | ||
| DequantizeLinear | in x:T in x_scale:tensor(float) in x_zero_point:T out y:tensor(float) |
10+ | T = tensor(int8), tensor(uint8) |
| Div | in A:T in B:T out C:T |
14+ | T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64) |
| 13 | T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64) | ||
| [7, 12] | T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64) | ||
| Dropout | in data:T in ratio:T1 in training_mode:T2 out output:T out mask:T2 or in data:T out output:T out mask:T or in data:T out output:T out mask:T1 |
13+ | T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16) T1 = tensor(bfloat16), tensor(double), tensor(float), tensor(float16) T2 = tensor(bool) |
| 12 | T = tensor(double), tensor(float), tensor(float16) T1 = tensor(double), tensor(float), tensor(float16) T2 = tensor(bool) |
||
| [10, 11] | T = tensor(double), tensor(float), tensor(float16) T1 = tensor(bool) |
||
| [7, 9] | T = tensor(double), tensor(float), tensor(float16) | ||
| DynamicSlice | in data:T in starts:Tind in ends:Tind in axes:Tind out output:T |
1+ | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) Tind = tensor(int32), tensor(int64) |
| Einsum | in Inputs:T out Output:T |
12+ | T = tensor(double), tensor(float), tensor(float16) |
| Elu | in X:T out Y:T |
6+ | T = tensor(double), tensor(float), tensor(float16) |
| Equal | in A:T in B:T out C:T1 |
13+ | T = tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64) T1 = tensor(bool) |
| [11, 12] | T = tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64) | ||
| [7, 10] | T = tensor(bool), tensor(int32), tensor(int64) | ||
| Erf | in input:T out output:T |
13+ | T = tensor(double), tensor(float), tensor(float16) |
| [9, 12] | T = tensor(double), tensor(float), tensor(float16) | ||
| Exp | in input:T out output:T |
13+ | T = tensor(double), tensor(float), tensor(float16) |
| [6, 12] | T = tensor(double), tensor(float), tensor(float16) | ||
| Expand | in input:T in shape:tensor(int64) out output:T |
13+ | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| [8, 12] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| EyeLike | in input:T1 out output:T2 |
9+ | T1 = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(uint64) T2 = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(uint64) |
| Flatten | in input:T out output:T |
13+ | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| [11, 12] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| [9, 10] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| [1, 8] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| Floor | in X:T out Y:T |
13+ | T = tensor(double), tensor(float), tensor(float16) |
| [6, 12] | T = tensor(double), tensor(float), tensor(float16) | ||
| GRU | in X:T in W:T in R:T in B:T in sequence_lens:T1 in initial_h:T out Y:T out Y_h:T |
14+ | T = tensor(double), tensor(float), tensor(float16) T1 = tensor(int32) |
| [7, 13] | T = tensor(double), tensor(float), tensor(float16) T1 = tensor(int32) |
||
| Gather | in data:T in indices:Tind out output:T |
13+ | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) Tind = tensor(int32), tensor(int64) |
| [11, 12] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) Tind = tensor(int32), tensor(int64) |
||
| [1, 10] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) Tind = tensor(int32), tensor(int64) |
||
| GatherElements | in data:T in indices:Tind out output:T |
13+ | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) Tind = tensor(int32), tensor(int64) |
| [11, 12] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) Tind = tensor(int32), tensor(int64) |
||
| GatherND | in data:T in indices:tensor(int64) out output:T |
13+ | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int64) indices = tensor(int64) |
| 12 | T = tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int64) indices = tensor(int64) |
||
| 11 | T = tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int64) indices = tensor(int64) |
||
| Gemm | in A:T in B:T in C:T out Y:T |
13+ | T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16) |
| [11, 12] | T = tensor(double), tensor(float), tensor(float16) | ||
| [9, 10] | T = tensor(double), tensor(float), tensor(float16) | ||
| [7, 8] | T = tensor(double), tensor(float), tensor(float16) | ||
| GlobalAveragePool | in X:T out Y:T |
1+ | T = tensor(double), tensor(float), tensor(float16) |
| GlobalMaxPool | in X:T out Y:T |
1+ | T = tensor(double), tensor(float), tensor(float16) |
| Greater | in A:T in B:T out C:T1 |
13+ | T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64) T1 = tensor(bool) |
| [9, 12] | T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64) | ||
| [7, 8] | T = tensor(double), tensor(float), tensor(float16) | ||
| GreaterOrEqual | in A:T in B:T out C:T1 |
16+ | T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64) T1 = tensor(bool) |
| [12, 15] | T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64) T1 = tensor(bool) |
||
| HardSigmoid | in X:T out Y:T |
6+ | T = tensor(double), tensor(float), tensor(float16) |
| Identity | in input:T out output:T or in input:V out output:V |
14+ | V = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8)), tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| 13 | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| [1, 12] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| If | in cond:B out outputs:V |
13+ | B = tensor(bool) V = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(string)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8)), tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| [11, 12] | B = tensor(bool) V = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
||
| [1, 10] | B = tensor(bool) V = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
||
| ImageScaler | in input:T out output:T |
1+ | T = tensor(double), tensor(float), tensor(float16) |
| InstanceNormalization | in input:T in scale:T in B:T out output:T |
6+ | T = tensor(double), tensor(float), tensor(float16) |
| LRN | in X:T out Y:T |
13+ | T = tensor(double), tensor(float), tensor(float16) |
| [1, 12] | T = tensor(double), tensor(float), tensor(float16) | ||
| LSTM | in X:T in W:T in R:T in B:T in sequence_lens:T1 in initial_h:T in initial_c:T in P:T out Y:T out Y_h:T out Y_c:T |
14+ | T = tensor(double), tensor(float), tensor(float16) T1 = tensor(int32) |
| [7, 13] | T = tensor(double), tensor(float), tensor(float16) T1 = tensor(int32) |
||
| LayerNormalization | in X:T in Scale:T in B:T out Y:T out Mean:U out InvStdDev:U or in X:T in Scale:V in B:V out Y:V out Mean:U out InvStdDev:U |
1+ | T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16) U = tensor(double), tensor(float) V = tensor(bfloat16), tensor(double), tensor(float), tensor(float16) |
| LeakyRelu | in X:T out Y:T |
16+ | T = tensor(double), tensor(float), tensor(float16) |
| [6, 15] | T = tensor(double), tensor(float), tensor(float16) | ||
| Less | in A:T in B:T out C:T1 |
13+ | T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64) T1 = tensor(bool) |
| [9, 12] | T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64) | ||
| [7, 8] | T = tensor(double), tensor(float), tensor(float16) | ||
| LessOrEqual | in A:T in B:T out C:T1 |
16+ | T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64) T1 = tensor(bool) |
| [12, 15] | T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64) T1 = tensor(bool) |
||
| Log | in input:T out output:T |
13+ | T = tensor(double), tensor(float), tensor(float16) |
| [6, 12] | T = tensor(double), tensor(float), tensor(float16) | ||
| LogSoftmax | in input:T out output:T |
13+ | T = tensor(double), tensor(float), tensor(float16) |
| [11, 12] | T = tensor(double), tensor(float), tensor(float16) | ||
| [1, 10] | T = tensor(double), tensor(float), tensor(float16) | ||
| Loop | in M:I in cond:B in v_initial:V out v_final_and_scan_outputs:V |
13+ | B = tensor(bool) I = tensor(int64) V = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(string)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8)), tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| [11, 12] | B = tensor(bool) I = tensor(int64) V = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
||
| [1, 10] | B = tensor(bool) I = tensor(int64) V = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
||
| MatMul | in A:T in B:T out Y:T |
13+ | T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16) |
| [9, 12] | T = tensor(double), tensor(float), tensor(float16) | ||
| [1, 8] | T = tensor(double), tensor(float), tensor(float16) | ||
| MatMulInteger | in A:T1 in B:T2 in a_zero_point:T1 in b_zero_point:T2 out Y:T3 |
10+ | T1 = tensor(int8) T2 = tensor(int8) T3 = tensor(int32) |
| Max | in data_0:T out max:T |
13+ | T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64) |
| 12 | T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64) | ||
| [6, 11] | T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16) | ||
| MaxPool | in X:T out Y:T or in X:T out Y:T out Indices:I |
12+ | I = tensor(int64) T = tensor(double), tensor(float), tensor(float16), tensor(int8), tensor(uint8) |
| 11 | I = tensor(int64) T = tensor(double), tensor(float), tensor(float16) |
||
| 10 | I = tensor(int64) T = tensor(double), tensor(float), tensor(float16) |
||
| [8, 9] | I = tensor(int64) T = tensor(double), tensor(float), tensor(float16) |
||
| [1, 7] | T = tensor(double), tensor(float), tensor(float16) | ||
| MemcpyFromHost | in X:T out Y:T |
1+ | T = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8)), tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| MemcpyToHost | in X:T out Y:T |
1+ | T = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8)), tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| Min | in data_0:T out min:T |
13+ | T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64) |
| 12 | T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64) | ||
| [6, 11] | T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16) | ||
| Mul | in A:T in B:T out C:T |
14+ | T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64) |
| 13 | T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64) | ||
| [7, 12] | T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64) | ||
| Neg | in X:T out Y:T |
13+ | T = tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8) |
| [6, 12] | T = tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8) | ||
| NonZero | in X:T out Y:tensor(int64) |
13+ | T = tensor(bool), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint8) |
| [9, 12] | T = tensor(bool), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint8) | ||
| Not | in X:T out Y:T |
1+ | T = tensor(bool) |
| OneHot | in indices:T1 in depth:T2 in values:T3 out output:T3 |
11+ | T1 = tensor(int32), tensor(int64) T2 = tensor(int32), tensor(int64) T3 = tensor(float), tensor(float16), tensor(int64) |
| Or | in A:T in B:T out C:T1 |
7+ | T = tensor(bool) T1 = tensor(bool) |
| PRelu | in X:T in slope:T out Y:T |
16+ | T = tensor(double), tensor(float), tensor(float16) |
| [9, 15] | T = tensor(double), tensor(float), tensor(float16) | ||
| [7, 8] | T = tensor(double), tensor(float), tensor(float16) | ||
| Pad | in data:T in pads:tensor(int64) in constant_value:T out output:T or in data:T out output:T |
13+ | T = tensor(bool), tensor(double), tensor(float), tensor(float16) |
| [11, 12] | T = tensor(double), tensor(float), tensor(float16) | ||
| [2, 10] | T = tensor(double), tensor(float), tensor(float16) | ||
| ParametricSoftplus | in X:T out Y:T |
1+ | T = tensor(double), tensor(float), tensor(float16) |
| Pow | in X:T in Y:T out Z:T or in X:T in Y:T1 out Z:T |
15+ | T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64) T1 = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64) |
| [13, 14] | T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64) T1 = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64) |
||
| 12 | T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64) T1 = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64) |
||
| [7, 11] | T = tensor(double), tensor(float), tensor(float16) | ||
| QuantizeLinear | in x:T1 in y_scale:tensor(float) in y_zero_point:T2 out y:T2 |
10+ | T1 = tensor(float) T2 = tensor(int8), tensor(uint8) |
| RNN | in X:T in W:T in R:T in B:T in sequence_lens:T1 in initial_h:T out Y:T out Y_h:T |
14+ | T = tensor(double), tensor(float), tensor(float16) T1 = tensor(int32) |
| [7, 13] | T = tensor(double), tensor(float), tensor(float16) T1 = tensor(int32) |
||
| RandomNormal | out output:T | 1+ | T = tensor(double), tensor(float), tensor(float16) |
| RandomNormalLike | in input:T1 out output:T2 |
1+ | T1 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T2 = tensor(double), tensor(float), tensor(float16) |
| RandomUniform | out output:T | 1+ | T = tensor(double), tensor(float), tensor(float16) |
| RandomUniformLike | in input:T1 out output:T2 |
1+ | T1 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T2 = tensor(double), tensor(float), tensor(float16) |
| Range | in start:T in limit:T in delta:T out output:T |
11+ | T = tensor(double), tensor(float), tensor(int16), tensor(int32), tensor(int64) |
| Reciprocal | in X:T out Y:T |
13+ | T = tensor(double), tensor(float), tensor(float16) |
| [6, 12] | T = tensor(double), tensor(float), tensor(float16) | ||
| ReduceL1 | in data:T out reduced:T |
13+ | T = tensor(double), tensor(float), tensor(float16), tensor(int32) |
| [11, 12] | T = tensor(double), tensor(float), tensor(float16), tensor(int32) | ||
| [1, 10] | T = tensor(double), tensor(float), tensor(float16), tensor(int32) | ||
| ReduceL2 | in data:T out reduced:T |
13+ | T = tensor(double), tensor(float), tensor(float16), tensor(int32) |
| [11, 12] | T = tensor(double), tensor(float), tensor(float16), tensor(int32) | ||
| [1, 10] | T = tensor(double), tensor(float), tensor(float16), tensor(int32) | ||
| ReduceLogSum | in data:T out reduced:T |
13+ | T = tensor(double), tensor(float), tensor(float16) |
| [11, 12] | T = tensor(double), tensor(float), tensor(float16) | ||
| [1, 10] | T = tensor(double), tensor(float), tensor(float16) | ||
| ReduceLogSumExp | in data:T out reduced:T |
13+ | T = tensor(double), tensor(float), tensor(float16) |
| [11, 12] | T = tensor(double), tensor(float), tensor(float16) | ||
| [1, 10] | T = tensor(double), tensor(float), tensor(float16) | ||
| ReduceMax | in data:T out reduced:T |
13+ | T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(int8), tensor(uint8) |
| 12 | T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(int8), tensor(uint8) | ||
| 11 | T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64) | ||
| [1, 10] | T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64) | ||
| ReduceMean | in data:T out reduced:T |
13+ | T = tensor(double), tensor(float), tensor(float16), tensor(int32) |
| [11, 12] | T = tensor(double), tensor(float), tensor(float16), tensor(int32) | ||
| [1, 10] | T = tensor(double), tensor(float), tensor(float16), tensor(int32) | ||
| ReduceMin | in data:T out reduced:T |
14+ | T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(int8), tensor(uint8) |
| 13 | T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(int8), tensor(uint8) | ||
| 12 | T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(int8), tensor(uint8) | ||
| 11 | T = tensor(double), tensor(float), tensor(float16), tensor(int32) | ||
| [1, 10] | T = tensor(double), tensor(float), tensor(float16), tensor(int32) | ||
| ReduceProd | in data:T out reduced:T |
13+ | T = tensor(double), tensor(float), tensor(float16), tensor(int32) |
| [11, 12] | T = tensor(double), tensor(float), tensor(float16), tensor(int32) | ||
| [1, 10] | T = tensor(double), tensor(float), tensor(float16), tensor(int32) | ||
| ReduceSum | in data:T in axes:tensor(int64) out reduced:T or in data:T out reduced:T |
13+ | T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64) |
| [11, 12] | T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64) | ||
| [1, 10] | T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64) | ||
| ReduceSumSquare | in data:T out reduced:T |
13+ | T = tensor(double), tensor(float), tensor(float16) |
| [11, 12] | T = tensor(double), tensor(float), tensor(float16) | ||
| [1, 10] | T = tensor(double), tensor(float), tensor(float16) | ||
| Relu | in X:T out Y:T |
14+ | T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16) |
| 13 | T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16) | ||
| [6, 12] | T = tensor(double), tensor(float), tensor(float16) | ||
| Reshape | in data:T in shape:tensor(int64) out reshaped:T or in data:T out reshaped:T |
14+ | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) shape = tensor(int64) |
| 13 | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) shape = tensor(int64) |
||
| [5, 12] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) shape = tensor(int64) |
||
| [1, 4] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| Resize | in X:T in scales:tensor(float) out Y:T or in X:T1 in roi:T2 in scales:tensor(float) in sizes:tensor(int64) out Y:T1 |
13+ | T1 = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(uint8) |
| [11, 12] | T1 = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(uint8) | ||
| 10 | T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(uint8) | ||
| ReverseSequence | in input:T in sequence_lens:tensor(int64) out Y:T |
10+ | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| RoiAlign | in X:T1 in rois:T1 in batch_indices:T2 out Y:T1 |
10+ | T1 = tensor(double), tensor(float) T2 = tensor(int64) |
| Round | in X:T out Y:T |
11+ | T = tensor(double), tensor(float), tensor(float16) |
| ScaledTanh | in input:T out output:T |
1+ | T = tensor(double), tensor(float), tensor(float16) |
| Scan | in initial_state_and_scan_inputs:V out final_state_and_scan_outputs:V or in sequence_lens:I in initial_state_and_scan_inputs:V out final_state_and_scan_outputs:V |
16+ | V = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| [11, 15] | V = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| [9, 10] | V = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| 8 | I = tensor(int64) V = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
||
| Scatter | in data:T in indices:Tind in updates:T out output:T |
[9, 10] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) Tind = tensor(int32), tensor(int64) |
| ScatterElements | in data:T in indices:Tind in updates:T out output:T |
13+ | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) Tind = tensor(int32), tensor(int64) |
| [11, 12] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) Tind = tensor(int32), tensor(int64) |
||
| ScatterND | in data:T in indices:tensor(int64) in updates:T out output:T |
13+ | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| [11, 12] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| Selu | in X:T out Y:T |
6+ | T = tensor(double), tensor(float), tensor(float16) |
| SequenceAt | in input_sequence:S in position:I out tensor:T |
11+ | I = tensor(int32), tensor(int64) S = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8)) T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| SequenceConstruct | in inputs:T out output_sequence:S |
11+ | S = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8)) T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| SequenceEmpty | out output:S | 11+ | S = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8)) |
| SequenceErase | in input_sequence:S in position:I out output_sequence:S |
11+ | I = tensor(int32), tensor(int64) S = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8)) |
| SequenceInsert | in input_sequence:S in tensor:T in position:I out output_sequence:S |
11+ | I = tensor(int32), tensor(int64) S = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8)) |
| SequenceLength | in input_sequence:S out length:I |
11+ | I = tensor(int64) S = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8)) |
| Shape | in data:T out shape:T1 |
15+ | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T1 = tensor(int64) |
| [13, 14] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T1 = tensor(int64) |
||
| [1, 12] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T1 = tensor(int64) |
||
| Shrink | in input:T out output:T |
9+ | T = tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| Sigmoid | in X:T out Y:T |
13+ | T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16) |
| [6, 12] | T = tensor(double), tensor(float), tensor(float16) | ||
| SimplifiedLayerNormalization | in X:T in scale:V out Y:V out inv_std_var:U |
1+ | T = tensor(double), tensor(float), tensor(float16) U = tensor(double), tensor(float) V = tensor(double), tensor(float), tensor(float16) |
| Sin | in input:T out output:T |
7+ | T = tensor(double), tensor(float), tensor(float16) |
| Size | in data:T out size:T1 |
13+ | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T1 = tensor(int64) |
| [1, 12] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T1 = tensor(int64) |
||
| Slice | in data:T in starts:Tind in ends:Tind in axes:Tind in steps:Tind out output:T or in data:T out output:T |
13+ | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) Tind = tensor(int32), tensor(int64) |
| [11, 12] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) Tind = tensor(int32), tensor(int64) |
||
| 10 | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) Tind = tensor(int32), tensor(int64) |
||
| [1, 9] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| Softmax | in input:T out output:T |
13+ | T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16) |
| [11, 12] | T = tensor(double), tensor(float), tensor(float16) | ||
| [1, 10] | T = tensor(double), tensor(float), tensor(float16) | ||
| Softplus | in X:T out Y:T |
1+ | T = tensor(double), tensor(float), tensor(float16) |
| Softsign | in input:T out output:T |
1+ | T = tensor(double), tensor(float), tensor(float16) |
| SpaceToDepth | in input:T out output:T |
13+ | T = tensor(double), tensor(float), tensor(float16) |
| [1, 12] | T = tensor(double), tensor(float), tensor(float16) | ||
| Split | in input:T in split:T out outputs...:T or in input:T in split:tensor(int64) out outputs:T or in input:T out outputs:T |
13+ | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| [11, 12] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| [2, 10] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| Sqrt | in X:T out Y:T |
13+ | T = tensor(double), tensor(float), tensor(float16) |
| [6, 12] | T = tensor(double), tensor(float), tensor(float16) | ||
| Squeeze | in data:T in axes:tensor(int64) out squeezed:T or in data:T out squeezed:T |
13+ | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| [11, 12] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| [1, 10] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| Sub | in A:T in B:T out C:T |
14+ | T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64) |
| 13 | T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64) | ||
| [7, 12] | T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64) | ||
| Sum | in data_0:T out sum:T |
13+ | T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16) |
| [8, 12] | T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16) | ||
| [6, 7] | T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16) | ||
| Tanh | in input:T out output:T |
13+ | T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16) |
| [6, 12] | T = tensor(double), tensor(float), tensor(float16) | ||
| ThresholdedRelu | in X:T out Y:T |
10+ | T = tensor(double), tensor(float), tensor(float16) |
| 1+ | T = tensor(double), tensor(float), tensor(float16) | ||
| Tile | in input:T in repeats:T1 out output:T or in input:T in tiles:T in axis:T out output:T |
13+ | T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64) T1 = tensor(int64) |
| [6, 12] | T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64) T1 = tensor(int64) |
||
| TopK | in X:T in K:tensor(int64) out Values:T out Indices:I or in X:T out Values:T out Indices:I |
11+ | I = tensor(int64) T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| 10 | I = tensor(int64) T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
||
| [1, 9] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| Transpose | in data:T out transposed:T |
13+ | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| [1, 12] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| Trilu | in input:T in k:tensor(int64) out output:T |
14+ | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| Unsqueeze | in data:T in axes:tensor(int64) out expanded:T or in data:T out expanded:T |
13+ | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |
| [11, 12] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| [1, 10] | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) | ||
| Upsample | in X:T in scales:tensor(float) out Y:T or in X:T out Y:T |
9 | T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(uint8) |
| [7, 8] | T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(uint8) | ||
| Where | in condition:B in X:T in Y:T out output:T |
16+ | B = tensor(bool) T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint8) |
| [9, 15] | B = tensor(bool) T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint8) |
||
| Xor | in A:T in B:T out C:T1 |
7+ | T = tensor(bool) T1 = tensor(bool) |
| Operator Domain: com.microsoft | |||
| Attention | in input:T in weight:T in bias:T in mask_index:M in past:T in extra_add:T out output:T out present:T |
1+ | T = tensor(float), tensor(float16) |
| BeamSearch | in input_ids:I in max_length:I in min_length:I in num_beams:I in num_return_sequences:I in length_penalty:T in repetition_penalty:T in vocab_mask:M in prefix_vocab_mask:M in attention_mask:I out sequences:I out sequences_scores:T out scores:T |
1+ | T = tensor(float), tensor(float16) |
| BiasDropout | in data:T in bias:T in residual:T in ratio:T1 in training_mode:T2 out output:T out mask:T2 |
1+ | T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16) T1 = tensor(bfloat16), tensor(double), tensor(float), tensor(float16) T2 = tensor(bool) |
| BiasGelu | in A:T in B:T out C:T |
1+ | T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16) |
| BiasSoftmax | in data:T in bias:T out output:T |
1+ | T = tensor(double), tensor(float), tensor(float16) |
| BitmaskBiasDropout | in data:T in bias:T in residual:T in ratio:T1 in training_mode:T2 out output:T out mask:T3 |
1+ | T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16) T1 = tensor(bfloat16), tensor(double), tensor(float), tensor(float16) T2 = tensor(bool) T3 = tensor(uint32) |
| BitmaskDropout | in data:T in ratio:T1 in training_mode:T2 out output:T out mask:T3 |
1+ | T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16) T1 = tensor(bfloat16), tensor(double), tensor(float), tensor(float16) T2 = tensor(bool) T3 = tensor(uint32) |
| ComplexMul | in A:T in B:T out C:T |
1+ | T = tensor(float), tensor(float16) |
| ComplexMulConj | in A:T in B:T out C:T |
1+ | T = tensor(float), tensor(float16) |
| ConvTransposeWithDynamicPads | in X:T in W:T in Pads:tensor(int64) in B:T out Y:T |
1+ | T = tensor(float) |
| DecoderAttention | in query:T in key:T in q_weight:T in kv_weight:T in bias:T in key_padding_mask:B in key_cache:T in value_cache:T in static_kv:B in use_past:B in has_layer_state:B in has_key_padding_mask:B out output:T out new_key_cache:T out new_value_cache:T |
1+ | T = tensor(float), tensor(float16) |
| DequantizeLinear | in x:T1 in x_scale:T2 in x_zero_point:T1 out y:T2 |
1+ | T1 = tensor(int8), tensor(uint8) T2 = tensor(float16) |
| EmbedLayerNormalization | in input_ids:T1 in segment_ids:T1 in word_embedding:T in position_embedding:T in segment_embedding:T in gamma:T in beta:T in mask:T1 in position_ids:T1 out output:T out mask_index:T1 out embedding_sum:T |
1+ | T = tensor(float), tensor(float16) |
| FastGelu | in X:T in bias:T out Y:T |
1+ | T = tensor(bfloat16), tensor(float), tensor(float16) |
| FusedConv | in X:T in W:T in B:T in Z:T out Y:T |
1+ | T = tensor(float) |
| FusedMatMul | in A:T in B:T out Y:T |
1+ | T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16) |
| Gelu | in X:T out Y:T |
1+ | T = tensor(double), tensor(float), tensor(float16) |
| GridSample | in X:T1 in Grid:T1 out Y:T2 |
1+ | T1 = tensor(float) T2 = tensor(float) |
| Inverse | in X:T out Y:T |
1+ | T = tensor(double), tensor(float), tensor(float16) |
| Irfft | in X:T out Y:T |
1+ | T = tensor(double), tensor(float), tensor(float16) |
| LongformerAttention | in input:T in weight:T in bias:T in mask:T in global_weight:T in global_bias:T in global:G out output:T |
1+ | T = tensor(float), tensor(float16) |
| NGramRepeatBlock | in input_ids:Tid in scores:T out scores_out:T |
1+ | T = tensor(float) Tid = tensor(int64) |
| QAttention | in input:T1 in weight:T2 in bias:T3 in input_scale:T3 in weight_scale:T3 in mask_index:T4 in input_zero_point:T1 in weight_zero_point:T2 in past:T3 out output:T3 out present:T3 |
1+ | T1 = tensor(int8) T2 = tensor(int8) T3 = tensor(float), tensor(float16) T4 = tensor(int32) |
| QuantizeLinear | in x:T1 in y_scale:T1 in y_zero_point:T2 out y:T2 |
1+ | T1 = tensor(float16) T2 = tensor(int8), tensor(uint8) |
| Rfft | in X:T out Y:T |
1+ | T = tensor(double), tensor(float), tensor(float16) |
| SkipLayerNormalization | in input:T in skip:T in gamma:T in beta:T in bias:T out output:T out mean:U out inv_std_var:U |
1+ | T = tensor(float), tensor(float16) |
| TransposeMatMul | in A:T in B:T out Y:T |
1+ | T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16) |
| Trilu | in X:T in k:tensor(int64) out Y:T |
1+ | T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) |