mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-05-15 20:50:42 +00:00
- Added python script for generating markdown doc from the registered opkernels. - Made some conditional changes in the pybind to expose necessary python API - Added some missing type-constraints in the op kernel registrations
47 KiB
47 KiB
Supported Operators Data Types
This file is automatically generated from the def files via this script. Do not modify directly and instead edit operator definitions.
Operators implemented by CPUExecutionProvider
| Op Name | Parameters | OpSet Version | Types Supported |
|---|---|---|---|
| Operator Domain: ai.onnx.ml | |||
| Abs | (in X:T, out Y:T) | 6+ | T = tensor(int32), tensor(int16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(float), tensor(uint64), tensor(int64), tensor(double) |
| 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) | 7+ | T = tensor(int32), tensor(float), tensor(int64), tensor(double) |
| 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)) | 1+ | T = tensor(int32), tensor(float) |
| ArgMin | (in data:T, out reduced:tensor(int64)) | 1+ | T = tensor(int32), tensor(float) |
| ArrayFeatureExtractor | (in X:T, in Y:tensor(int64), out Z:T) | 1+ | T = tensor(string), tensor(int32), tensor(float), tensor(int64), tensor(double) |
| 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) | 10+ | T = tensor(float) |
| [7, 9] | T = tensor(float) | ||
| BatchNormalization | (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) | [7, 9] | B = tensor(float) |
| X = tensor(float) | |||
| mean = tensor(float) | |||
| scale = tensor(float) | |||
| var = tensor(float) | |||
| Binarizer | (in X:T, out Y:T) | 1+ | T = tensor(float) |
| Cast | (in input:T1, out output:T2) | 9+ | T1 = tensor(string) |
| T2 = tensor(int32), tensor(bool), tensor(int16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(string), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) | |||
| [6, 9] | T1 = tensor(int32), tensor(bool), tensor(int16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) | ||
| T2 = tensor(int32), tensor(bool), tensor(int16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(string), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) | |||
| CastMap | (in X:T1, out Y:T2) | 1+ | T1 = unknown |
| T2 = tensor(string), tensor(float), tensor(int64) | |||
| CategoryMapper | (in X:T1, out Y:T2) | 1+ | T1 = tensor(string), tensor(int64) |
| T2 = tensor(string), tensor(int64) | |||
| Ceil | (in X:T, out Y:T) | 6+ | T = tensor(float) |
| Clip | (in input:T, out output:T) | 6+ | T = tensor(float) |
| Compress | (in input:T, in condition:T1, out output:T) | 9+ | T = tensor(int32), tensor(bool), tensor(int16), tensor(bfloat16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(string), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| T1 = tensor(bool) | |||
| Concat | (in inputs:T, out concat_result:T) | 4+ | T = tensor(int32), tensor(bool), tensor(int16), tensor(bfloat16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(string), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| ConstantOfShape | (in input:T1, out output:T2) | 9+ | T1 = tensor(int64) |
| T2 = tensor(int32), tensor(bool), tensor(int16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) | |||
| Conv | (in X:T, in W:T, in B:T, out Y:T) | 1+ | 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) | 1+ | 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) |
| DepthToSpace | (in input:T, out output:T) | [1, 4] | T = tensor(float) |
| DequantizeLinear | (in x:T, in x_scale:tensor(float), in x_zero_point:T, out y:tensor(float)) | 10+ | x = tensor(uint8), unknown |
| x_scale = tensor(float) | |||
| x_zero_point = tensor(uint8), unknown | |||
| y = tensor(float) | |||
| DictVectorizer | (in X:T1, out Y:T2) | 1+ | T1 = unknown |
| T2 = tensor(string), tensor(float), tensor(int64), tensor(double) | |||
| Div | (in A:T, in B:T, out C:T) | 7+ | T = tensor(int32), tensor(float), tensor(int64), tensor(double) |
| Dropout | (in data:T, out output:T, out mask:T) or (in data:T, out output:T, out mask:T1) | 10+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| T1 = tensor(bool) | |||
| [7, 9] | T = tensor(float), tensor(MLFloat16), tensor(double) | ||
| T1 = tensor(bool) | |||
| DynamicSlice | (in data:T, in starts:Tind, in ends:Tind, in axes:Tind, out output:T) | 1+ | T = tensor(int32), tensor(bool), tensor(int16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(string), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| Tind = 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) | 11+ | T = tensor(float) |
| T1 = tensor(bool) | |||
| 7+ | T = tensor(int32), tensor(bool), tensor(int64) | ||
| T1 = tensor(bool) | |||
| Erf | (in input:T, out output:T) | 9+ | T = tensor(float) |
| Exp | (in input:T, out output:T) | 6+ | T = tensor(float), tensor(double) |
| Expand | (in input:T, in shape:tensor(int64), out output:T) | 8+ | T = tensor(int32), tensor(bool), tensor(int16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| EyeLike | (in input:T1, out output:T2) | 9+ | T1 = tensor(uint64), tensor(int32), tensor(float), tensor(int64), tensor(double) |
| T2 = tensor(uint64), tensor(int32), tensor(float), tensor(int64), tensor(double) | |||
| FeatureVectorizer | (in X:T1, out Y:tensor(float)) | 1+ | T1 = tensor(int32), tensor(float), tensor(int64), tensor(double) |
| Flatten | (in input:T, out output:T) | 9+ | T = tensor(int32), tensor(bool), tensor(int16), tensor(bfloat16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(string), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| [1, 8] | T = tensor(int32), tensor(bool), tensor(int16), tensor(bfloat16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(string), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) | ||
| Floor | (in X:T, out Y:T) | 6+ | 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) | 7+ | T = tensor(float), tensor(double) |
| T1 = tensor(int32) | |||
| Gather | (in data:T, in indices:Tind, out output:T) | 1+ | T = tensor(int32), tensor(bool), tensor(int16), tensor(bfloat16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(string), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| Tind = tensor(int32), tensor(int64) | |||
| Gemm | (in A:T, in B:T, in C:T, out Y:T) | [7, 9] | T = 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) | 9+ | T = tensor(int32), tensor(int64) |
| T1 = tensor(bool) | |||
| [7, 9] | T = tensor(float) | ||
| T1 = tensor(bool) | |||
| HardSigmoid | (in X:T, out Y:T) | 6+ | T = tensor(float) |
| Hardmax | (in input:T, out output:T) | 1+ | T = tensor(float) |
| Identity | (in input:T, out output:T) | 1+ | T = tensor(int32), tensor(bool), tensor(int16), tensor(bfloat16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(string), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| If | (in cond:B, out outputs:V) | 1+ | B = tensor(bool) |
| V = tensor(int32), tensor(bool), tensor(int16), tensor(bfloat16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(string), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) | |||
| ImageScaler | (in input:T, out output:T) | 1+ | T = tensor(float) |
| Imputer | (in X:T, out Y:T) | 1+ | T = tensor(float), tensor(int64) |
| 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(float), tensor(double) |
| T2 = tensor(bool) | |||
| IsNaN | (in X:T1, out Y:T2) | 9+ | T1 = tensor(float), tensor(MLFloat16) |
| T2 = tensor(bool) | |||
| LRN | (in X:T, out Y:T) | 1+ | 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) | 7+ | T = tensor(float), tensor(double) |
| T1 = tensor(int32) | |||
| LabelEncoder | (in X:T1, out Y:T2) | 2+ | T1 = tensor(string), tensor(float), tensor(int64) |
| T2 = tensor(string), tensor(float), tensor(int64) | |||
| [1, 1] | T1 = tensor(string), tensor(int64) | ||
| T2 = tensor(string), tensor(int64) | |||
| LeakyRelu | (in X:T, out Y:T) | 6+ | T = tensor(float) |
| Less | (in A:T, in B:T, out C:T1) | 9+ | T = tensor(int32), tensor(int64) |
| T1 = tensor(bool) | |||
| [7, 9] | T = tensor(float) | ||
| T1 = tensor(bool) | |||
| LinearClassifier | (in X:T1, out Y:T2, out Z:tensor(float)) | 1+ | T1 = tensor(int32), tensor(float), tensor(int64), tensor(double) |
| T2 = tensor(string), tensor(int64) | |||
| LinearRegressor | (in X:T, out Y:tensor(float)) | 1+ | T = tensor(float) |
| Log | (in input:T, out output:T) | 6+ | T = tensor(float) |
| LogSoftmax | (in input:T, out output:T) | 1+ | T = tensor(float) |
| Loop | (in M:I, in cond:B, in v_initial:V, out v_final_and_scan_outputs:V) | 1+ | B = tensor(bool) |
| I = tensor(int64) | |||
| V = tensor(int32), tensor(bool), tensor(int16), tensor(bfloat16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(string), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) | |||
| LpNormalization | (in input:T, out output:T) | 1+ | T = tensor(float) |
| LpPool | (in X:T, out Y:T) | 2+ | T = tensor(float) |
| MatMul | (in A:T, in B:T, out Y:T) | [1, 9] | T = tensor(float), tensor(double) |
| [9, 9] | T = tensor(uint64), tensor(int32), tensor(int64), tensor(uint32) | ||
| MatMulInteger | (in A:T1, in B:T2, in a_zero_point:T1, in b_zero_point:T2, out Y:T3) | 10+ | T1 = tensor(uint8) |
| T2 = tensor(uint8) | |||
| T3 = tensor(int32) | |||
| Max | (in data_0:T, out max:T) | 8+ | T = tensor(float), tensor(double) |
| [6, 7] | T = tensor(float) | ||
| MaxPool | (in X:T, out Y:T) or (in X:T, out Y:T, out Indices:I) | 10+ | I = tensor(int64) |
| T = tensor(float) | |||
| [1, 7] | T = tensor(float) | ||
| [8, 9] | I = tensor(int64) | ||
| 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) | 9+ | T1 = tensor(float) |
| T2 = tensor(int64) | |||
| Mean | (in data_0:T, out mean:T) | 8+ | T = tensor(float) |
| [6, 7] | T = tensor(float) | ||
| MeanVarianceNormalization | (in X:T, out Y:T) or (in input:T, out output:T) | 9+ | T = tensor(float) |
| [1, 8] | T = tensor(float) | ||
| Min | (in data_0:T, out min:T) | 8+ | T = tensor(float) |
| [6, 7] | T = tensor(float) | ||
| Mod | (in A:T, in B:T, out C:T) | 10+ | T = tensor(int32), tensor(int16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| Mul | (in A:T, in B:T, out C:T) | 7+ | T = tensor(int32), tensor(float), tensor(int64), tensor(double) |
| Multinomial | (in input:T1, out output:T2) | 7+ | T1 = tensor(float) |
| T2 = tensor(int32), tensor(int64) | |||
| Neg | (in X:T, out Y:T) | 6+ | T = tensor(int32), tensor(float), unknown |
| NonZero | (in X:T, out Y:tensor(int64)) | 9+ | T = tensor(int32), tensor(float), tensor(bool), tensor(int64) |
| Normalizer | (in X:T, out Y:tensor(float)) | 1+ | T = tensor(int32), tensor(float), tensor(int64), tensor(double) |
| Not | (in X:T, out Y:T) | 1+ | T = tensor(bool) |
| T1 = tensor(bool) | |||
| OneHot | (in indices:T1, in depth:T2, in values:T3, out output:T3) | 9+ | T1 = tensor(int32), tensor(float), tensor(int64) |
| T2 = tensor(int32), tensor(float), tensor(int64) | |||
| T3 = tensor(string), tensor(int32), tensor(float), tensor(int64) | |||
| OneHotEncoder | (in X:T, out Y:tensor(float)) | 1+ | T = tensor(string), tensor(float), tensor(int64), tensor(double) |
| 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) | [7, 9] | T = tensor(float) |
| Pad | (in data:T, out output:T) | 2+ | T = tensor(float) |
| ParametricSoftplus | (in X:T, out Y:T) | 1+ | T = tensor(float) |
| Pow | (in X:T, in Y:T, out Z:T) | 7+ | T = tensor(float), tensor(double) |
| 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(uint8) |
| T2 = tensor(uint8) | |||
| T3 = 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(uint8) |
| T2 = tensor(uint8) | |||
| T3 = tensor(uint8) | |||
| QuantizeLinear | (in x:T1, in y_scale:tensor(float), in y_zero_point:T2, out y:T2) | 10+ | x = tensor(float) |
| y = tensor(uint8), unknown | |||
| y_zero_point = tensor(uint8), unknown | |||
| 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) | 7+ | T = tensor(float) |
| T1 = tensor(int32) | |||
| RandomNormal | (out output:T) | 1+ | T = tensor(float), tensor(double) |
| RandomNormalLike | (in input:T1, out output:T2) | 1+ | T1 = tensor(int32), tensor(bool), tensor(int16), tensor(bfloat16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(string), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| T2 = tensor(float), tensor(double) | |||
| RandomUniform | (out output:T) | 1+ | T = tensor(float), tensor(double) |
| RandomUniformLike | (in input:T1, out output:T2) | 1+ | T1 = tensor(int32), tensor(bool), tensor(int16), tensor(bfloat16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(string), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| T2 = tensor(float), tensor(double) | |||
| Reciprocal | (in X:T, out Y:T) | 6+ | T = tensor(float) |
| ReduceL1 | (in data:T, out reduced:T) | 1+ | T = tensor(int32), tensor(float) |
| ReduceL2 | (in data:T, out reduced:T) | 1+ | T = tensor(int32), tensor(float) |
| ReduceLogSum | (in data:T, out reduced:T) | 1+ | T = tensor(int32), tensor(float) |
| ReduceLogSumExp | (in data:T, out reduced:T) | 1+ | T = tensor(int32), tensor(float) |
| ReduceMax | (in data:T, out reduced:T) | 1+ | T = tensor(int32), tensor(float) |
| ReduceMean | (in data:T, out reduced:T) | 1+ | T = tensor(int32), tensor(float) |
| ReduceMin | (in data:T, out reduced:T) | 1+ | T = tensor(int32), tensor(float) |
| ReduceProd | (in data:T, out reduced:T) | 1+ | T = tensor(int32), tensor(float) |
| ReduceSum | (in data:T, out reduced:T) | 1+ | T = tensor(int32), tensor(float), tensor(double) |
| ReduceSumSquare | (in data:T, out reduced:T) | 1+ | T = tensor(int32), tensor(float), tensor(double) |
| Relu | (in X:T, out Y:T) | 6+ | T = tensor(float) |
| Reshape | (in data:T, in shape:tensor(int64), out reshaped:T) or (in data:T, out reshaped:T) | 5+ | T = tensor(int32), tensor(bool), tensor(int16), tensor(bfloat16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(string), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| shape = tensor(int64) | |||
| Reshape_1 | [1, 4] | T = tensor(int32), tensor(bool), tensor(int16), tensor(bfloat16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(string), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) | |
| Resize | (in X:T, in scales:tensor(float), out Y:T) | 10+ | T = tensor(int32), tensor(float), tensor(uint8) |
| ReverseSequence | (in input:T, in sequence_lens:tensor(int64), out Y:T) | 10+ | T = tensor(int32), tensor(bool), tensor(int16), tensor(bfloat16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(string), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| RoiAlign | (in X:T1, in rois:T1, in batch_indices:T2, out Y:T1) | 10+ | T = tensor(float), tensor(double) |
| T2 = tensor(int64) | |||
| SVMClassifier | (in X:T1, out Y:T2, out Z:tensor(float)) | 1+ | T1 = tensor(int32), tensor(float), tensor(int64), tensor(double) |
| T2 = tensor(string), tensor(int64) | |||
| SVMRegressor | (in X:T, out Y:tensor(float)) | 1+ | T = tensor(float) |
| Scale | (in input:T, out output:T) | 1+ | T = tensor(float) |
| ScaledTanh | (in input:T, out output:T) | 1+ | T = tensor(float) |
| Scaler | (in X:T, out Y:tensor(float)) | 1+ | T = tensor(int32), tensor(float), tensor(int64), tensor(double) |
| Scan | (in sequence_lens:I, in initial_state_and_scan_inputs:V, out final_state_and_scan_outputs:V) or (in initial_state_and_scan_inputs:V, out final_state_and_scan_outputs:V) | 9+ | I = tensor(int64) |
| V = tensor(int32), tensor(bool), tensor(int16), tensor(bfloat16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(string), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) | |||
| [8, 8] | I = tensor(int64) | ||
| V = tensor(int32), tensor(bool), tensor(int16), tensor(bfloat16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(string), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) | |||
| Scatter | (in data:T, in indices:Tind, in updates:T, out output:T) | 9+ | T = tensor(int32), tensor(bool), tensor(int16), tensor(bfloat16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(string), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| Tind = tensor(int32), tensor(int64) | |||
| Selu | (in X:T, out Y:T) | 6+ | T = tensor(float) |
| Shape | (in data:T, out shape:T1) | 1+ | T = tensor(int32), tensor(bool), tensor(int16), tensor(bfloat16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| T1 = tensor(int64) | |||
| Shrink | (in input:T, out output:T) | 9+ | T = tensor(int32), tensor(int16), tensor(bfloat16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| Sigmoid | (in X:T, out Y:T) | 6+ | T = tensor(float) |
| Sign | (in input:T, out output:T) | 9+ | T = tensor(int32), tensor(int16), tensor(bfloat16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| Sin | (in input:T, out output:T) | 7+ | T = tensor(float), tensor(double) |
| Sinh | (in input:T, out output:T) | 9+ | T = tensor(float) |
| Size | (in data:T, out size:T1) | 1+ | T = tensor(int32), tensor(bool), tensor(int16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(string), tensor(float), tensor(uint64), tensor(int64), tensor(double) |
| T1 = tensor(int64) | |||
| Slice | (in data:T, out output:T) or (in data:T, in starts:Tind, in ends:Tind, in axes:Tind, in steps:Tind, out output:T) | 10+ | T = tensor(int32), tensor(bool), tensor(int16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(string), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| Tind = tensor(int32), tensor(int64) | |||
| [1, 9] | T = tensor(int32), tensor(bool), tensor(int16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(string), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) | ||
| Softmax | (in input:T, out output:T) | 1+ | T = 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) | 1+ | T = tensor(float) |
| Split | (in input:T, out outputs:T) or (in input:T, in split:T, out outputs...:T) | 2+ | T = tensor(string), tensor(int32), tensor(float) |
| Sqrt | (in X:T, out Y:T) | 6+ | T = tensor(float), tensor(double) |
| Squeeze | (in data:T, out squeezed:T) | 1+ | T = tensor(int32), tensor(bool), tensor(int16), tensor(bfloat16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(string), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| StringNormalizer | (in X:tensor(string), out Y:tensor(string)) | 10+ | T = tensor(string) |
| Sub | (in A:T, in B:T, out C:T) | 7+ | T = tensor(int32), tensor(float), tensor(int64), tensor(double) |
| Sum | (in data_0:T, out sum:T) | 8+ | T = tensor(float) |
| [6, 7] | T = tensor(float) | ||
| Tan | (in input:T, out output:T) | 7+ | T = tensor(float) |
| Tanh | (in input:T, out output:T) | 6+ | T = tensor(float) |
| TfIdfVectorizer | (in X:T, out Y:T1) | 9+ | T = tensor(string), tensor(int32), tensor(int64) |
| T1 = tensor(float) | |||
| ThresholdedRelu | (in X:T, out Y:T) | 1+ | T = tensor(float) |
| 10+ | T = tensor(float) | ||
| Tile | (in input:T, in tiles:T, in axis:T, out output:T) or (in input:T, in repeats:T1, out output:T) | 6+ | T = tensor(int32), tensor(bool), tensor(int16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(float), tensor(uint64), tensor(int64), tensor(double) |
| 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) | 10+ | I = tensor(int64) |
| T = tensor(float) | |||
| [1, 9] | I = tensor(int64) | ||
| T = tensor(float) | |||
| Transpose | (in data:T, out transposed:T) | 1+ | T = tensor(int32), tensor(bool), tensor(int16), tensor(bfloat16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(string), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| TreeEnsembleClassifier | (in X:T1, out Y:T2, out Z:tensor(float)) | 1+ | T1 = tensor(int32), tensor(float), tensor(int64), tensor(double) |
| T2 = tensor(string), tensor(int64) | |||
| TreeEnsembleRegressor | (in X:T, out Y:tensor(float)) | 1+ | T = tensor(float) |
| Unsqueeze | (in data:T, out expanded:T) | 1+ | T = tensor(int32), tensor(bool), tensor(int16), tensor(bfloat16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(string), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| Upsample | (in X:T, out Y:T) or (in X:T, in scales:tensor(float), out Y:T) | [7, 9] | T = tensor(int32), tensor(float), tensor(uint8) |
| Where | (in condition:B, in X:T, in Y:T, out output:T) | 9+ | T = tensor(string), tensor(int32), tensor(float) |
| Xor | (in A:T, in B:T, out C:T1) | 7+ | T = tensor(bool) |
| T1 = tensor(bool) | |||
| ZipMap | (in X:tensor(float), out Z:T) | 1+ | T = unknown |
| Operator Domain: com.microsoft | |||
| 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(float), tensor(double) |
| T1 = tensor(int32) | |||
| 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+ | T = tensor(float) |
| T2 = tensor(int32) | |||
| ExpandDims | (in X:T, in axis:tensor(int32), out Y:T) | 1+ | T = tensor(int32), tensor(bool), tensor(int16), tensor(bfloat16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(string), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| axis = tensor(int32) | |||
| FusedConv | (in X:T, in W:T, in B: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) |
| GatherND | (in data:T, in indices:Tind, out output:T) | 1+ | T = tensor(int32), tensor(bool), tensor(int16), tensor(bfloat16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(string), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| Tind = tensor(int32), tensor(int64) | |||
| 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(string), tensor(int32), tensor(uint32) |
| T2 = tensor(int32), tensor(uint32) | |||
| Pad | (in data:T, in pads:tensor(int64), in value:T, out output:T) | 1+ | T = tensor(float) |
| Range | (in start:T, in limit:T, in delta:T, out Y:T) | 1+ | T = tensor(int32), tensor(float), tensor(int64), tensor(int16), tensor(double) |
| SampleOp | (in X:T, out Y:T) | 1+ | T = tensor(float) |
| Tokenizer | (in X:T, out Y:T) | 1+ | T = tensor(string) |
| 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) |
Operators implemented by CUDAExecutionProvider
| Op Name | Parameters | OpSet Version | Types Supported |
|---|---|---|---|
| Operator Domain: ai.onnx.ml | |||
| Abs | (in X:T, out Y:T) | 6+ | T = tensor(int32), tensor(int16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| Add | (in A:T, in B:T, out C:T) | 7+ | T = tensor(int32), tensor(uint32), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| Affine | (in X:T, out Y:T) | 1+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| 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)) | 1+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| ArgMin | (in data:T, out reduced:tensor(int64)) | 1+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| AveragePool | (in X:T, out Y:T) | 10+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| [7, 9] | I = tensor(int64) | ||
| T = tensor(float), tensor(MLFloat16), tensor(double) | |||
| BatchNormalization | (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) | 9+ | B = tensor(float), tensor(MLFloat16), tensor(double) |
| X = tensor(float), tensor(MLFloat16), tensor(double) | |||
| mean = tensor(float), tensor(MLFloat16), tensor(double) | |||
| scale = tensor(float), tensor(MLFloat16), tensor(double) | |||
| var = tensor(float), tensor(MLFloat16), tensor(double) | |||
| [7, 8] | B = tensor(float), tensor(MLFloat16), tensor(double) | ||
| X = tensor(float), tensor(MLFloat16), tensor(double) | |||
| mean = tensor(float), tensor(MLFloat16), tensor(double) | |||
| scale = tensor(float), tensor(MLFloat16), tensor(double) | |||
| var = tensor(float), tensor(MLFloat16), tensor(double) | |||
| Cast | (in input:T1, out output:T2) | 9+ | T1 = tensor(int32), tensor(bool), tensor(int16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| T2 = tensor(int32), tensor(bool), tensor(int16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) | |||
| [6, 8] | T1 = tensor(int32), tensor(bool), tensor(int16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) | ||
| T2 = tensor(int32), tensor(bool), tensor(int16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) | |||
| Ceil | (in X:T, out Y:T) | 6+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| Compress | (in input:T, in condition:T1, out output:T) | 9+ | T = tensor(int32), tensor(bool), tensor(int16), tensor(bfloat16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| T1 = tensor(bool) | |||
| Concat | (in inputs:T, out concat_result:T) | 4+ | T = tensor(int32), tensor(bool), tensor(int16), tensor(bfloat16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| ConstantOfShape | (in input:T1, out output:T2) | 9+ | T1 = tensor(int64) |
| T2 = tensor(int32), tensor(bool), tensor(int16), tensor(bfloat16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) | |||
| Conv | (in X:T, in W:T, in B:T, out Y:T) | 1+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| ConvTranspose | (in X:T, in W:T, in B:T, out Y:T) | 1+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| Crop | (in input:T, out output:T) | 1+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| Div | (in A:T, in B:T, out C:T) | 7+ | T = tensor(int32), tensor(uint32), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| Dropout | (in data:T, out output:T, out mask:T) or (in data:T, out output:T, out mask:T1) | 10+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| T1 = tensor(bool) | |||
| [7, 9] | T = tensor(float), tensor(MLFloat16), tensor(double) | ||
| DynamicSlice | (in data:T, in starts:Tind, in ends:Tind, in axes:Tind, out output:T) | 1+ | T = tensor(int32), tensor(bool), tensor(int16), tensor(bfloat16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| Tind = tensor(int32), tensor(int64) | |||
| Elu | (in X:T, out Y:T) | 6+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| Equal | (in A:T, in B:T, out C:T1) | 7+ | T = tensor(int32), tensor(bool), tensor(int64) |
| Erf | (in input:T, out output:T) | 9+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| Exp | (in input:T, out output:T) | 6+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| Expand | (in input:T, in shape:tensor(int64), out output:T) | 8+ | T = tensor(int32), tensor(bool), tensor(int16), tensor(bfloat16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| Flatten | (in input:T, out output:T) | 9+ | T = tensor(int32), tensor(bool), tensor(int16), tensor(bfloat16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| [1, 8] | T = tensor(int32), tensor(bool), tensor(int16), tensor(bfloat16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) | ||
| Floor | (in X:T, out Y:T) | 6+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| 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) | 7+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| T1 = tensor(int32) | |||
| Gather | (in data:T, in indices:Tind, out output:T) | 1+ | T = tensor(int32), tensor(bool), tensor(int16), tensor(bfloat16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| Tind = tensor(int32), tensor(int64) | |||
| Gemm | (in A:T, in B:T, in C:T, out Y:T) | 9+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| [7, 8] | T = tensor(float), tensor(MLFloat16), tensor(double) | ||
| GlobalAveragePool | (in X:T, out Y:T) | 1+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| GlobalMaxPool | (in X:T, out Y:T) | 1+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| Greater | (in A:T, in B:T, out C:T1) | 9+ | T = tensor(int32), tensor(uint32), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| T1 = tensor(bool) | |||
| [7, 8] | T = tensor(float), tensor(MLFloat16), tensor(double) | ||
| HardSigmoid | (in X:T, out Y:T) | 6+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| Identity | (in input:T, out output:T) | 1+ | T = tensor(int32), tensor(bool), tensor(int16), tensor(bfloat16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| ImageScaler | (in input:T, out output:T) | 1+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| InstanceNormalization | (in input:T, in scale:T, in B:T, out output:T) | 6+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| LRN | (in X:T, out Y:T) | 1+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| 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) | 7+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| T1 = tensor(int32) | |||
| LeakyRelu | (in X:T, out Y:T) | 6+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| Log | (in input:T, out output:T) | 6+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| MatMul | (in A:T, in B:T, out Y:T) | 9+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| [1, 8] | T = tensor(float), tensor(MLFloat16), tensor(double) | ||
| Max | (in data_0:T, out max:T) | 8+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| [6, 7] | T = tensor(float), tensor(MLFloat16), tensor(double) | ||
| MaxPool | (in X:T, out Y:T) or (in X:T, out Y:T, out Indices:I) | 10+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| [1, 7] | I = tensor(int64) | ||
| T = tensor(float), tensor(MLFloat16), tensor(double) | |||
| [8, 9] | I = tensor(int64) | ||
| T = tensor(float), tensor(MLFloat16), tensor(double) | |||
| MemcpyFromHost | (in X:T, out Y:T) | 1+ | T = tensor(int32), tensor(bool), tensor(int16), tensor(bfloat16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| MemcpyToHost | (in X:T, out Y:T) | 1+ | T = tensor(int32), tensor(bool), tensor(int16), tensor(bfloat16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| Min | (in data_0:T, out min:T) | 8+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| [6, 7] | T = tensor(float), tensor(MLFloat16), tensor(double) | ||
| Mul | (in A:T, in B:T, out C:T) | 7+ | T = tensor(int32), tensor(uint32), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| Neg | (in X:T, out Y:T) | 6+ | T = tensor(int32), tensor(int16), unknown, tensor(float), tensor(MLFloat16), tensor(int64), tensor(double) |
| 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) | 7+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| Pad | (in data:T, out output:T) | 2+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| ParametricSoftplus | (in X:T, out Y:T) | 1+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| Pow | (in X:T, in Y:T, out Z:T) | 7+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| 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) | 7+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| T1 = tensor(int32) | |||
| Reciprocal | (in X:T, out Y:T) | 6+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| ReduceL1 | (in data:T, out reduced:T) | 1+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| ReduceL2 | (in data:T, out reduced:T) | 1+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| ReduceLogSum | (in data:T, out reduced:T) | 1+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| ReduceLogSumExp | (in data:T, out reduced:T) | 1+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| ReduceMax | (in data:T, out reduced:T) | 1+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| ReduceMean | (in data:T, out reduced:T) | 1+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| ReduceMin | (in data:T, out reduced:T) | 1+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| ReduceProd | (in data:T, out reduced:T) | 1+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| ReduceSum | (in data:T, out reduced:T) | 1+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| ReduceSumSquare | (in data:T, out reduced:T) | 1+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| Relu | (in X:T, out Y:T) | 6+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| Reshape | (in data:T, in shape:tensor(int64), out reshaped:T) or (in data:T, out reshaped:T) | 5+ | T = tensor(int32), tensor(bool), tensor(int16), tensor(bfloat16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| shape = tensor(int64) | |||
| Reshape_1 | [1, 4] | T = tensor(int32), tensor(bool), tensor(int16), tensor(bfloat16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) | |
| Resize | (in X:T, in scales:tensor(float), out Y:T) | 10+ | T = tensor(int32), tensor(float), tensor(MLFloat16), tensor(uint8), tensor(double) |
| ScaledTanh | (in input:T, out output:T) | 1+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| Selu | (in X:T, out Y:T) | 6+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| Shape | (in data:T, out shape:T1) | 1+ | T = tensor(int32), tensor(bool), tensor(int16), tensor(bfloat16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| T1 = tensor(int64) | |||
| Shrink | (in input:T, out output:T) | 9+ | T = tensor(int32), tensor(int16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| Sigmoid | (in X:T, out Y:T) | 6+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| Slice | (in data:T, out output:T) or (in data:T, in starts:Tind, in ends:Tind, in axes:Tind, in steps:Tind, out output:T) | 10+ | T = tensor(int32), tensor(bool), tensor(int16), tensor(bfloat16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| Tind = tensor(int32), tensor(int64) | |||
| [1, 9] | T = tensor(int32), tensor(bool), tensor(int16), tensor(bfloat16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) | ||
| Tind = tensor(int32), tensor(int64) | |||
| Softmax | (in input:T, out output:T) | 1+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| Softplus | (in X:T, out Y:T) | 1+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| Softsign | (in input:T, out output:T) | 1+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| Split | (in input:T, out outputs:T) or (in input:T, in split:T, out outputs...:T) | 2+ | T = tensor(int32), tensor(bool), tensor(int16), tensor(bfloat16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| Sqrt | (in X:T, out Y:T) | 6+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| Squeeze | (in data:T, out squeezed:T) | 1+ | T = tensor(int32), tensor(bool), tensor(int16), tensor(bfloat16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| Sub | (in A:T, in B:T, out C:T) | 7+ | T = tensor(int32), tensor(uint32), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| Sum | (in data_0:T, out sum:T) | 8+ | T = tensor(int32), tensor(uint32), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| [6, 7] | T = tensor(int32), tensor(uint32), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) | ||
| Tanh | (in input:T, out output:T) | 6+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| ThresholdedRelu | (in X:T, out Y:T) | 1+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| 10+ | T = tensor(float), tensor(MLFloat16), tensor(double) | ||
| Tile | (in input:T, in tiles:T, in axis:T, out output:T) or (in input:T, in repeats:T1, out output:T) | 6+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| T1 = tensor(int64) | |||
| Transpose | (in data:T, out transposed:T) | 1+ | T = tensor(float), tensor(MLFloat16), tensor(double) |
| Unsqueeze | (in data:T, out expanded:T) | 1+ | T = tensor(int32), tensor(bool), tensor(int16), tensor(bfloat16), tensor(uint8), unknown, tensor(uint32), tensor(uint16), tensor(float), tensor(uint64), tensor(MLFloat16), tensor(int64), tensor(double) |
| Upsample | (in X:T, out Y:T) or (in X:T, in scales:tensor(float), out Y:T) | [7, 9] | T = tensor(int32), tensor(float), tensor(MLFloat16), tensor(uint8), tensor(double) |
| Xor | (in A:T, in B:T, out C:T1) | 7+ | T = tensor(bool) |
| T1 = tensor(bool) | |||
| Operator Domain: com.microsoft | |||
| ConvTransposeWithDynamicPads | (in X:T, in W:T, in Pads:tensor(int64), in B:T, out Y:T) | 1+ | T = tensor(float) |
Operators implemented by MKLDNNExecutionProvider
| Op Name | Parameters | OpSet Version | Types Supported |
|---|---|---|---|
| Operator Domain: ai.onnx.ml | |||
| AveragePool | (in X:T, out Y:T) | [7, 8] | T = tensor(float) |
| BatchNormalization | (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) | 7+ | T = tensor(float) |
| Conv | (in X:T, in W:T, in B:T, out Y:T) | 1+ | T = tensor(float) |
| Gemm | (in A:T, in B:T, in C:T, out Y:T) | 7+ | T = tensor(float) |
| GlobalAveragePool | (in X:T, out Y:T) | [1, 8] | T = tensor(float) |
| GlobalMaxPool | (in X:T, out Y:T) | [1, 8] | T = tensor(float) |
| LRN | (in X:T, out Y:T) | 1+ | T = tensor(float) |
| MaxPool | (in X:T, out Y:T) or (in X:T, out Y:T, out Indices:I) | [1, 7] | T = tensor(float) |
| [8, 8] | T = tensor(float) | ||
| Relu | (in X:T, out Y:T) | 6+ | T = tensor(float) |
| Sum | (in data_0:T, out sum:T) | 6+ | T = tensor(float) |