Back to Onnxruntime

OperatorKernels

docs/OperatorKernels.md

1.25.1322.1 KB
Original Source

Supported Operators and Data Types

This file is automatically generated from the registered kernels by this script. Do not modify directly.

Execution Providers


<a name="cpuexecutionprovider"/>

Operators implemented by CPUExecutionProvider

Op NameParametersOpSet VersionTypes Supported
Operator Domain: ai.onnx
Absin X:T
out Y:T13+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)
Acosin input:T
out output:T22+T = tensor(float)
[7, 21]T = tensor(float)
Acoshin input:T
out output:T22+T = tensor(float)
[9, 21]T = tensor(float)
Addin A:T
in B:T
out C:T14+T = tensor(double), tensor(float), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
13T = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)
[7, 12]T = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)
Affinein X:T
out Y:T1+T = tensor(float)
AffineGridin theta:T1
in size:T2
out grid:T120+T1 = tensor(double), tensor(float)
T2 = tensor(int64)
Andin A:T
in B:T
out C:T17+T = tensor(bool)
T1 = tensor(bool)
ArgMaxin data:T
out reduced:tensor(int64)13+T = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(int8), tensor(uint8)
[11, 12]T = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(int8), tensor(uint8)
[1, 10]T = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(int8), tensor(uint8)
ArgMinin data:T
out reduced:tensor(int64)13+T = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(int8), tensor(uint8)
[11, 12]T = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(int8), tensor(uint8)
[1, 10]T = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(int8), tensor(uint8)
Asinin input:T
out output:T22+T = tensor(float)
[7, 21]T = tensor(float)
Asinhin input:T
out output:T22+T = tensor(float)
[9, 21]T = tensor(float)
Atanin input:T
out output:T22+T = tensor(float)
[7, 21]T = tensor(float)
Atanhin input:T
out output:T22+T = tensor(float)
[9, 21]T = tensor(float)
Attentionin Q:T1
in K:T1
in V:T2
in attn_mask:U
in past_key:T1
in past_value:T2
in nonpad_kv_seqlen:tensor(int64)
out Y:T1
out present_key:T1
out present_value:T2
out qk_matmul_output:T1

or

in Q:T1 in K:T1 in V:T2 in attn_mask:U in past_key:T1 in past_value:T2 out Y:T1 out present_key:T1 out present_value:T2 out qk_matmul_output:T1|24+|T1 = tensor(float), tensor(float16) T2 = tensor(float), tensor(float16) U = tensor(bool), tensor(float), tensor(float16)| |||23|T1 = tensor(float), tensor(float16) T2 = tensor(float), tensor(float16) U = tensor(bool), tensor(float), tensor(float16)| |AveragePool|in X:T out Y:T|22+|T = tensor(float)| |||[19, 21]|T = tensor(float)| |||[11, 18]|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)| |BitCast|in input:T1 out output:T2|26+|T1 = tensor(bfloat16), 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(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |BitShift|in X:T in Y:T out Z:T|11+|T = tensor(uint32), tensor(uint64), tensor(uint8)| |BitwiseAnd|in A:T in B:T out C:T|18+|T = tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |BitwiseNot|in X:T out Y:T|18+|T = tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |BitwiseOr|in A:T in B:T out C:T|18+|T = tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |BitwiseXor|in A:T in B:T out C:T|18+|T = tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), 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|25+|T1 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int2), tensor(int32), tensor(int4), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint2), tensor(uint32), tensor(uint4), tensor(uint64), tensor(uint8) T2 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int2), tensor(int32), tensor(int4), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint2), tensor(uint32), tensor(uint4), tensor(uint64), tensor(uint8)| |||24|T1 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int2), tensor(int32), tensor(int4), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint2), tensor(uint32), tensor(uint4), tensor(uint64), tensor(uint8) T2 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int2), tensor(int32), tensor(int4), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint2), tensor(uint32), tensor(uint4), tensor(uint64), tensor(uint8)| |||23|T1 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int2), tensor(int32), tensor(int4), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint2), tensor(uint32), tensor(uint4), tensor(uint64), tensor(uint8) T2 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int2), tensor(int32), tensor(int4), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint2), tensor(uint32), tensor(uint4), tensor(uint64), tensor(uint8)| |||[21, 22]|T1 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int2), tensor(int32), tensor(int4), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint2), tensor(uint32), tensor(uint4), tensor(uint64), tensor(uint8) T2 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int2), tensor(int32), tensor(int4), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint2), tensor(uint32), tensor(uint4), tensor(uint64), tensor(uint8)| |||[19, 20]|T1 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int2), tensor(int32), tensor(int4), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint2), tensor(uint32), tensor(uint4), tensor(uint64), tensor(uint8) T2 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int2), tensor(int32), tensor(int4), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint2), tensor(uint32), tensor(uint4), tensor(uint64), tensor(uint8)| |||[13, 18]|T1 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int2), tensor(int32), tensor(int4), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint2), tensor(uint32), tensor(uint4), tensor(uint64), tensor(uint8) T2 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int2), tensor(int32), tensor(int4), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint2), tensor(uint32), tensor(uint4), tensor(uint64), tensor(uint8)| |||[6, 12]|T1 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int2), tensor(int32), tensor(int4), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint2), tensor(uint32), tensor(uint4), tensor(uint64), tensor(uint8) T2 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int2), tensor(int32), tensor(int4), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint2), tensor(uint32), tensor(uint4), tensor(uint64), tensor(uint8)| |Ceil|in X:T out Y:T|13+|T = tensor(double), tensor(float)| |||[6, 12]|T = tensor(double), 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(float16), tensor(int32), tensor(int64), tensor(int8), tensor(uint32), tensor(uint64), tensor(uint8)| |||12|T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(int8), tensor(uint32), tensor(uint64), tensor(uint8)| |||11|T = tensor(float)| |||[6, 10]|T = tensor(float)| |Col2Im|in input:T in image_shape:tensor(int64) in block_shape:tensor(int64) out output:T|18+|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|25+|T1 = tensor(int64) T2 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||24|T1 = tensor(int64) T2 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||23|T1 = tensor(int64) T2 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||[21, 22]|T1 = tensor(int64) T2 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||20|T1 = tensor(int64) T2 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||[9, 19]|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|22+|T = tensor(float)| |||[11, 21]|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(int8), tensor(uint8) T2 = tensor(int8), tensor(uint8) T3 = tensor(int32)| |ConvTranspose|in X:T in W:T in B:T out Y:T|22+|T = tensor(float)| |||[11, 21]|T = tensor(float)| |||[1, 10]|T = tensor(float)| |Cos|in input:T out output:T|22+|T = tensor(float)| |||[7, 21]|T = tensor(float)| |Cosh|in input:T out output:T|22+|T = tensor(float)| |||[9, 21]|T = tensor(float)| |Crop|in input:T out output:T|1+|T = tensor(float)| |CumProd|in x:T in axis:T2 out y:T|26+|T = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64) T2 = tensor(int32), tensor(int64)| |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 in axis:tensor(int64) out output:T1

or

in input:T1 in dft_length:T2 out output:T1|20+|T1 = tensor(double), tensor(float) T2 = tensor(int32), tensor(int64)| |||[17, 19]|T1 = tensor(double), tensor(float) T2 = tensor(int32), tensor(int64)| |DeformConv|in X:T in W:T in offset:T in B:T in mask:T out Y:T|22+|T = tensor(double), tensor(float)| |||[19, 21]|T = tensor(double), tensor(float)| |DepthToSpace|in input:T out output:T|13+|T = tensor(double), tensor(float), tensor(uint8)| |||[11, 12]|T = tensor(double), tensor(float), tensor(uint8)| |||[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)

or

in x:T1 in x_scale:T2 in x_zero_point:T1 out y:T2

or

in x:T1 in x_scale:T2 in x_zero_point:T1 out y:T3|25+|T1 = tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int2), tensor(int32), tensor(int4), tensor(int8), tensor(uint16), tensor(uint2), tensor(uint4), tensor(uint8) T2 = tensor(float), tensor(float16)| |||24|T1 = tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int4), tensor(int8), tensor(uint16), tensor(uint4), tensor(uint8) T2 = tensor(float), tensor(float16)| |||23|T1 = tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int4), tensor(int8), tensor(uint16), tensor(uint4), tensor(uint8) T2 = tensor(float), tensor(float16)| |||[21, 22]|T1 = tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int4), tensor(int8), tensor(uint16), tensor(uint4), tensor(uint8) T2 = tensor(float), tensor(float16)| |||[19, 20]|T1 = tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int32), tensor(int8), tensor(uint8) T2 = tensor(float), tensor(float16)| |||[13, 18]|T = tensor(int32), tensor(int8), tensor(uint8)| |||[10, 12]|T = tensor(int32), tensor(int8), tensor(uint8)| |Det|in X:T out Y:T|22+|T = tensor(float)| |||[11, 21]|T = tensor(float)| |Div|in A:T in B:T out C:T|14+|T = tensor(double), tensor(float), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||13|T = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)| |||[7, 12]|T = tensor(double), tensor(float), 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|22+|T = tensor(double), tensor(float) T1 = tensor(double), tensor(float) T2 = tensor(bool)| |||[13, 21]|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|22+|T = tensor(float)| |||[6, 21]|T = tensor(float)| |Equal|in A:T in B:T out C:T1|19+|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(bool)| |||[13, 18]|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(bool)| |||[11, 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(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|22+|T1 = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(uint64) T2 = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(uint64)| |||[9, 21]|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|25+|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)| |||24|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)| |||23|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)| |||[21, 22]|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, 20]|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(double), tensor(float)| |||[6, 12]|T = tensor(double), 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|22+|T = tensor(double), tensor(float) T1 = tensor(int32)| |||[14, 21]|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)| |Gelu|in X:T out Y:T|20+|T = tensor(float)| |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|22+|T = tensor(float)| |||[1, 21]|T = tensor(float)| |GlobalLpPool|in X:T out Y:T|2+|T = tensor(float)| |GlobalMaxPool|in X:T out Y:T|22+|T = tensor(float)| |||[1, 21]|T = tensor(float)| |Greater|in A:T in B:T out C:T1|13+|T = tensor(double), tensor(float), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T1 = tensor(bool)| |||[9, 12]|T = tensor(double), tensor(float), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) 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(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T1 = tensor(bool)| |||[12, 15]|T = tensor(double), tensor(float), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T1 = tensor(bool)| |GridSample|in X:T1 in grid:T2 out Y:T1|22+|T1 = tensor(double), tensor(float) T2 = tensor(double), tensor(float)| |||[20, 21]|T1 = tensor(double), tensor(float) T2 = tensor(double), tensor(float)| |||[16, 19]|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|22+|T = tensor(float)| |||[6, 21]|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|25+|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(float8e4m3fn)), seq(tensor(float8e4m3fnuz)), seq(tensor(float8e5m2)), seq(tensor(float8e5m2fnuz)), 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(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||24|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(float8e4m3fn)), seq(tensor(float8e4m3fnuz)), seq(tensor(float8e5m2)), seq(tensor(float8e5m2fnuz)), 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(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||23|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(float8e4m3fn)), seq(tensor(float8e4m3fnuz)), seq(tensor(float8e5m2)), seq(tensor(float8e5m2fnuz)), 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(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||[21, 22]|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(float8e4m3fn)), seq(tensor(float8e4m3fnuz)), seq(tensor(float8e5m2)), seq(tensor(float8e5m2fnuz)), 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(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||[19, 20]|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(float8e4m3fn)), seq(tensor(float8e4m3fnuz)), seq(tensor(float8e5m2)), seq(tensor(float8e5m2fnuz)), 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(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||[16, 18]|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|25+|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(float8e4m3fn)), seq(tensor(float8e4m3fnuz)), seq(tensor(float8e5m2)), seq(tensor(float8e5m2fnuz)), 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(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||24|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(float8e4m3fn)), seq(tensor(float8e4m3fnuz)), seq(tensor(float8e5m2)), seq(tensor(float8e5m2fnuz)), 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(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||23|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(float8e4m3fn)), seq(tensor(float8e4m3fnuz)), seq(tensor(float8e5m2)), seq(tensor(float8e5m2fnuz)), 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(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||[21, 22]|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(float8e4m3fn)), seq(tensor(float8e4m3fnuz)), seq(tensor(float8e5m2)), seq(tensor(float8e5m2fnuz)), 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(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||[19, 20]|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(float8e4m3fn)), seq(tensor(float8e4m3fnuz)), seq(tensor(float8e5m2)), seq(tensor(float8e5m2fnuz)), 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(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||[16, 18]|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|22+|T = tensor(float)| |||[6, 21]|T = tensor(float)| |IsInf|in X:T1 out Y:T2|20+|T1 = tensor(bfloat16), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz) T2 = tensor(bool)| |||[10, 19]|T1 = tensor(double), tensor(float) T2 = tensor(bool)| |IsNaN|in X:T1 out Y:T2|20+|T1 = tensor(bfloat16), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz) T2 = tensor(bool)| |||[13, 19]|T1 = tensor(double), tensor(float), tensor(float16) T2 = tensor(bool)| |||[9, 12]|T1 = tensor(double), 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|22+|T = tensor(double), tensor(float) T1 = tensor(int32)| |||[14, 21]|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|17+|T = tensor(double), tensor(float), tensor(float16) U = tensor(float)| |||[1, 16]|T = tensor(double), tensor(float), tensor(float16) U = tensor(double), tensor(float), tensor(float16) V = tensor(double), tensor(float), tensor(float16)| |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(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T1 = tensor(bool)| |||[9, 12]|T = tensor(double), tensor(float), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) 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(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T1 = tensor(bool)| |||[12, 15]|T = tensor(double), tensor(float), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) 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|25+|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(float8e4m3fn)), seq(tensor(float8e4m3fnuz)), seq(tensor(float8e5m2)), seq(tensor(float8e5m2fnuz)), 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(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||24|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(float8e4m3fn)), seq(tensor(float8e4m3fnuz)), seq(tensor(float8e5m2)), seq(tensor(float8e5m2fnuz)), 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(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||23|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(float8e4m3fn)), seq(tensor(float8e4m3fnuz)), seq(tensor(float8e5m2)), seq(tensor(float8e5m2fnuz)), 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(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||[21, 22]|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(float8e4m3fn)), seq(tensor(float8e4m3fnuz)), seq(tensor(float8e5m2)), seq(tensor(float8e5m2fnuz)), 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(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||[19, 20]|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(float8e4m3fn)), seq(tensor(float8e4m3fnuz)), seq(tensor(float8e5m2)), seq(tensor(float8e5m2fnuz)), 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(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||[16, 18]|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|22+|T = tensor(double), tensor(float)| |||[1, 21]|T = tensor(double), tensor(float)| |LpPool|in X:T out Y:T|22+|T = tensor(float)| |||[18, 21]|T = tensor(float)| |||[11, 17]|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(int8), tensor(uint32), tensor(uint64), tensor(uint8)| |||12|T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(int8), tensor(uint32), tensor(uint64), tensor(uint8)| |||[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|22+|I = tensor(int64) T = tensor(double), tensor(float), tensor(int8), tensor(uint8)| |||[12, 21]|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|22+|T1 = tensor(float) T2 = tensor(int64)| |||[11, 21]|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)| |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(float8e4m3fn)), seq(tensor(float8e4m3fnuz)), seq(tensor(float8e5m2)), seq(tensor(float8e5m2fnuz)), 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(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), 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(float8e4m3fn)), seq(tensor(float8e4m3fnuz)), seq(tensor(float8e5m2)), seq(tensor(float8e5m2fnuz)), 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(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), 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(int8), tensor(uint32), tensor(uint64), tensor(uint8)| |||12|T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(int8), tensor(uint32), tensor(uint64), tensor(uint8)| |||[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(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||13|T = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)| |||[7, 12]|T = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)| |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(int16), tensor(int32), tensor(int64), tensor(int8)| |||[6, 12]|T = tensor(double), tensor(float), tensor(int16), 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|18+|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)), 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) 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)| |||[15, 17]|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|18+|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)), 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)| |||[15, 17]|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 in axes:Tind out output:T

or

in data:T in pads:tensor(int64) in constant_value:T out output:T

or

in data:T out output:T|25+|T = tensor(bool), tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(int8), tensor(uint32), tensor(uint64), tensor(uint8)| |||24|T = tensor(bool), tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(int8), tensor(uint32), tensor(uint64), tensor(uint8)| |||23|T = tensor(bool), tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(int8), tensor(uint32), tensor(uint64), tensor(uint8)| |||[21, 22]|T = tensor(bool), tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(int8), tensor(uint32), tensor(uint64), tensor(uint8)| |||[19, 20]|T = tensor(bool), tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(int8), tensor(uint32), tensor(uint64), tensor(uint8)| |||18|T = tensor(bool), tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(int8), tensor(uint32), tensor(uint64), tensor(uint8)| |||[13, 17]|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:TS in a_zero_point:T1 in b:T2 in b_scale:TS in b_zero_point:T2 in y_scale:TS in y_zero_point:T3 out y:T3

or

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|21+|T1 = tensor(int8), tensor(uint8) T2 = tensor(int8), tensor(uint8) T3 = tensor(int8), tensor(uint8) TS = tensor(float)| |||[10, 20]|T1 = tensor(int8), tensor(uint8) T2 = tensor(int8), tensor(uint8) T3 = tensor(int8), tensor(uint8)| |QuantizeLinear|in x:T1 in y_scale:T1 in y_zero_point:T2 out y:T2

or

in x:T1 in y_scale:T2 in y_zero_point:T3 out y:T3

or

in x:T1 in y_scale:tensor(float) in y_zero_point:T2 out y:T2|25+|T1 = tensor(float), tensor(float16) T2 = tensor(float), tensor(float16) T3 = tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int2), tensor(int4), tensor(int8), tensor(uint16), tensor(uint2), tensor(uint4), tensor(uint8)| |||24|T1 = tensor(float), tensor(float16) T2 = tensor(float), tensor(float16) T3 = tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int4), tensor(int8), tensor(uint16), tensor(uint4), tensor(uint8)| |||23|T1 = tensor(float), tensor(float16) T2 = tensor(float), tensor(float16) T3 = tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int4), tensor(int8), tensor(uint16), tensor(uint4), tensor(uint8)| |||[21, 22]|T1 = tensor(float), tensor(float16) T2 = tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int4), tensor(int8), tensor(uint16), tensor(uint4), tensor(uint8)| |||[19, 20]|T1 = tensor(float), tensor(float16) T2 = tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int8), tensor(uint8)| |||[13, 18]|T1 = tensor(float) T2 = tensor(int8), tensor(uint8)| |||[10, 12]|T1 = tensor(float) T2 = tensor(int8), tensor(uint8)| |RMSNormalization|in X:T in scale:V out Y:V|23+|T = tensor(double), tensor(float), tensor(float16) V = tensor(double), tensor(float), tensor(float16)| |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|22+|T = tensor(float) T1 = tensor(int32)| |||[14, 21]|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 in axes:tensor(int64) out reduced:T

or

in data:T out reduced:T|18+|T = tensor(double), tensor(float), tensor(int32), tensor(int64)| |||[13, 17]|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)| |ReduceL2|in data:T in axes:tensor(int64) out reduced:T

or

in data:T out reduced:T|18+|T = tensor(double), tensor(float), tensor(int32), tensor(int64)| |||[13, 17]|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)| |ReduceLogSum|in data:T in axes:tensor(int64) out reduced:T

or

in data:T out reduced:T|18+|T = tensor(double), tensor(float), tensor(int32), tensor(int64)| |||[13, 17]|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)| |ReduceLogSumExp|in data:T in axes:tensor(int64) out reduced:T

or

in data:T out reduced:T|18+|T = tensor(double), tensor(float), tensor(int32), tensor(int64)| |||[13, 17]|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)| |ReduceMax|in data:T in axes:tensor(int64) out reduced:T

or

in data:T out reduced:T|20+|T = tensor(bool), tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(int8), tensor(uint8)| |||[18, 19]|T = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(int8), tensor(uint8)| |||[13, 17]|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 in axes:tensor(int64) out reduced:T

or

in data:T out reduced:T|18+|T = tensor(double), tensor(float), tensor(int32), tensor(int64)| |||[13, 17]|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)| |ReduceMin|in data:T in axes:tensor(int64) out reduced:T

or

in data:T out reduced:T|20+|T = tensor(bool), tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(int8), tensor(uint8)| |||[18, 19]|T = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(int8), tensor(uint8)| |||[13, 17]|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 in axes:tensor(int64) out reduced:T

or

in data:T out reduced:T|18+|T = tensor(double), tensor(float), tensor(int32), tensor(int64)| |||[13, 17]|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)| |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 in axes:tensor(int64) out reduced:T

or

in data:T out reduced:T|18+|T = tensor(double), tensor(float), tensor(int32), tensor(int64)| |||[13, 17]|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)| |RegexFullMatch|in X:T1 out Y:T2|20+|T1 = tensor(string) T2 = tensor(bool)| |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|25+|T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) shape = tensor(int64)| |||24|T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) shape = tensor(int64)| |||23|T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) shape = tensor(int64)| |||[21, 22]|T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) shape = tensor(int64)| |||[19, 20]|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)| |||[14, 18]|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|19+|T1 = tensor(float), tensor(int32), tensor(int8), tensor(uint8)| |||18|T1 = tensor(float), tensor(int32), tensor(int8), tensor(uint8)| |||[13, 17]|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)| |RotaryEmbedding|in X:T in cos_cache:T in sin_cache:T in position_ids:M out Y:T|23+|M = tensor(int64) T = tensor(float), tensor(float16)| |Round|in X:T out Y:T|22+|T = tensor(double), tensor(float), tensor(float16)| |||[11, 21]|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|25+|V = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||24|V = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||23|V = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||[21, 22]|V = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||[19, 20]|V = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||[16, 18]|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|18+|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)| |||[16, 17]|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|18+|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)| |||[16, 17]|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|22+|T = tensor(float)| |||[6, 21]|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|25+|T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T1 = tensor(int64)| |||24|T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T1 = tensor(int64)| |||23|T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T1 = tensor(int64)| |||[21, 22]|T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T1 = tensor(int64)| |||[19, 20]|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)| |||[15, 18]|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), tensor(float16) U = tensor(double), tensor(float), tensor(float16) V = tensor(double), tensor(float), tensor(float16)| |Sin|in input:T out output:T|22+|T = tensor(double), tensor(float)| |||[7, 21]|T = tensor(double), tensor(float)| |Sinh|in input:T out output:T|22+|T = tensor(float)| |||[9, 21]|T = tensor(float)| |Size|in data:T out size:T1|25+|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)| |||24|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)| |||23|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)| |||[21, 22]|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)| |||[19, 20]|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)| |||[13, 18]|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|22+|T = tensor(float)| |||[1, 21]|T = tensor(float)| |Softsign|in input:T out output:T|22+|T = tensor(float)| |||[1, 21]|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|18+|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, 17]|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)| |||[2, 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)| |SplitToSequence|in input:T in split:I out output_sequence:S|24+|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(bool), tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(string)| |||[11, 23]|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(bool), tensor(double), tensor(float), tensor(float16), 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|25+|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)| |||24|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)| |||23|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)| |||[21, 22]|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, 20]|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)| |StringConcat|in X:T in Y:T out Z:T|20+|T = tensor(string)| |StringNormalizer|in X:tensor(string) out Y:tensor(string)|10+|X = tensor(string)| |StringSplit|in X:T1 out Y:T2 out Z:T3|20+|T1 = tensor(string) T2 = tensor(string) T3 = tensor(int64)| |Sub|in A:T in B:T out C:T|14+|T = tensor(double), tensor(float), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||13|T = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)| |||[7, 12]|T = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)| |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|22+|T = tensor(float)| |||[7, 21]|T = tensor(float)| |Tanh|in input:T out output:T|13+|T = tensor(double), tensor(float)| |||[6, 12]|T = tensor(double), tensor(float)| |TensorScatter|in past_cache:T in update:T in write_indices:tensor(int64) out present_cache:T|24+|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)| |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|22+|T = tensor(float)| |||[10, 21]|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(string), 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(string), 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|24+|I = tensor(int64) T = tensor(double), tensor(float), tensor(int32), tensor(int64)| |||[11, 23]|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|25+|T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int2), tensor(int32), tensor(int4), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint2), tensor(uint32), tensor(uint4), tensor(uint64), tensor(uint8)| |||24|T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int4), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint4), tensor(uint64), tensor(uint8)| |||23|T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int4), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint4), tensor(uint64), tensor(uint8)| |||[21, 22]|T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int4), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint4), tensor(uint64), tensor(uint8)| |||[13, 20]|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(bool), 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(double), 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|25+|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)| |||24|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)| |||23|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)| |||[21, 22]|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, 20]|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|4+|T1 = tensor(double), tensor(float), tensor(int64), tensor(string) T2 = tensor(double), tensor(float), tensor(int16), tensor(int64), tensor(string)| |||[2, 3]|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)| |TreeEnsemble|in X:T out Y:T|5+|T = tensor(double), tensor(float)| |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 weights:T in bias:T in mask_index:M in past:T in attention_bias:T in past_sequence_length:M 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:F 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 in decoder_input_ids:I in logits_processor: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)| |CausalConvWithState|in input:T in weight:T in bias:T in past_state:T out output:T out present_state:T|1+|T = 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)| |DecoderMaskedMultiHeadAttention|in query:T in key:T in value:T in mask_index:M in attention_bias:T in past_key:T in past_value:T in past_sequence_length:M in beam_width:M in cache_indirection:M in bias:T out output:T out present_key:T out present_value:T out qk:QK|1+|T = tensor(float)| |DequantizeLinear|in x:T1 in x_scale:T2 in x_zero_point:T1 out y:T2|1+|T1 = tensor(int16), tensor(int32), tensor(int4), tensor(int8), tensor(uint16), tensor(uint4), 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)| |DynamicTimeWarping|in input:F out output:I|1+|F = tensor(float) I = tensor(int32)| |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)| |GatherBlockQuantized|in data:T1 in indices:Tind in scales:T2 in zero_points:T1 out output:T2|1+|T1 = tensor(int4), tensor(uint4), tensor(uint8) T2 = tensor(float), tensor(float16) Tind = tensor(int32), tensor(int64)| |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)| |GreedySearch|in input_ids:I in max_length:I in min_length:I in repetition_penalty:T in vocab_mask:I in prefix_vocab_mask:I in attention_mask:I out sequences:I|1+|T = tensor(float)| |GridSample|in X:T1 in Grid:T1 out Y:T2|1+|T1 = tensor(float) T2 = tensor(float)| |GroupQueryAttention|in query:T in key:T in value:T in past_key:T_CACHE in past_value:T_CACHE in seqlens_k:M in total_sequence_length:M in cos_cache:T in sin_cache:T in position_ids:tensor(int64) in attention_bias:T in head_sink:T in k_scale:T_KV_SCALE in v_scale:T_KV_SCALE out output:T out present_key:T_CACHE out present_value:T_CACHE out output_qk:T|1+|M = tensor(int32) T = tensor(float), tensor(float16)| |Inverse|in X:T out Y:T|1+|T = tensor(double), tensor(float), tensor(float16)| |LinearAttention|in query:T in key:T in value:T in past_state:S in decay:T in beta:T out output:T out present_state:S|1+|T = tensor(float)| |MatMulBnb4|in A:T1 in B:T2 in absmax:T1 out Y:T1|1+|T1 = tensor(float) T2 = tensor(uint8)| |MatMulFpQ4|in A:T1 in B:T2 in B_shape:T3 out Y:T1|1+|T1 = tensor(float) T2 = tensor(uint8) T3 = tensor(int64)| |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)| |MatMulNBits|in A:T1 in B:T2 in scales:T1 in zero_points:T3 in g_idx:T4 in bias:T1 out Y:T1|1+|T1 = tensor(float), tensor(float16) T2 = tensor(uint8) T3 = tensor(float), tensor(float16), tensor(uint8) T4 = tensor(int32)| |MaxpoolWithMask|in X:T in M:tensor(int32) out Y:T|1+|T = tensor(float)| |MoE|in input:T in router_probs:T in fc1_experts_weights:T in fc1_experts_bias:T in fc2_experts_weights:T in fc2_experts_bias:T in fc3_experts_weights:T in fc3_experts_bias:T out output:T|1+|T = tensor(float)| |MultiHeadAttention|in query:T in key:T in value:T in bias:T in key_padding_mask:M in attention_bias:T in past_key:T in past_value:T in past_sequence_length:M in cache_indirection:M out output:T out present_key:T out present_value:T out qk:QK|1+|T = 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)| |QLinearSoftmax|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)| |QLinearWhere|in condition:B in X:T in x_scale:TF in x_zero_point:T in Y:T in y_scale:TF in y_zero_point:T in z_scale:TF in z_zero_point:T out Z:T|1+|T = tensor(int8), tensor(uint8)| |QMoE|in input:T in router_probs:T in fc1_experts_weights:T1 in fc1_scales:T2 in fc1_experts_bias:T in fc2_experts_weights:T1 in fc2_scales:T2 in fc2_experts_bias:T in fc3_experts_weights:T1 in fc3_scales:T2 in fc3_experts_bias:T in fc1_zero_points:T1 in fc2_zero_points:T1 in fc3_zero_points:T1 in router_weights:T out output:T|1+|T = tensor(float), tensor(float16) T1 = tensor(uint8) T2 = tensor(float), tensor(float16)| |QuantizeLinear|in x:T1 in y_scale:T1 in y_zero_point:T2 out y:T2|1+|T1 = tensor(float) T2 = tensor(int16), tensor(int4), tensor(int8), tensor(uint16), tensor(uint4), tensor(uint8)| |QuickGelu|in X:T out Y:T|1+|T = tensor(float)| |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)| |RotaryEmbedding|in input:T in position_ids:M in cos_cache:T in sin_cache:T out output:T|1+|M = tensor(int64) T = tensor(float), tensor(float16)| |SampleOp|in X:T out Y:T|1+|T = tensor(float)| |Sampling|in input_ids:I in max_length:I in min_length:I in repetition_penalty:T in vocab_mask:I in prefix_vocab_mask:I in attention_mask:I in presence_mask:I in seed:I out sequences:I out filtered_logits: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 out input_skip_bias_sum:T|1+|T = tensor(double), tensor(float), tensor(float16)| |SkipSimplifiedLayerNormalization|in input:T in skip:T in gamma:T in bias:T out output:T out mean:U out inv_std_var:U out input_skip_bias_sum:T|1+|T = tensor(double), tensor(float), tensor(float16)| |SparseAttention|in query:T in key:T in value:T in past_key:T in past_value:T in block_row_indices:M in block_col_indices:M in total_sequence_length:M in key_total_sequence_lengths:M in cos_cache:T in sin_cache:T out output:T out present_key:T out present_value:T|1+|M = tensor(int32) T = tensor(float), tensor(float16)| |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)| |UnfoldTensor|in input:T 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)| |Unique|in x:T out y:T out idx:tensor(int64) out counts:tensor(int64)|1+|T = tensor(float)| |WhisperBeamSearch|in input_ids:F 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 in decoder_input_ids:I in logits_processor:I in cross_qk_layer_head:I in extra_decoding_ids:I in temperature:T out sequences:I out sequences_scores:T out scores:T out cross_qk:V out non_speech_probs:T|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)| | | | |

<a name="cudaexecutionprovider"/>

Operators implemented by CUDAExecutionProvider

Op NameParametersOpSet VersionTypes Supported
Operator Domain: ai.onnx
Absin X:T
out Y:T13+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)
[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)
Addin A:T
in B:T
out C:T14+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)
13T = 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)
Affinein X:T
out Y:T1+T = tensor(double), tensor(float), tensor(float16)
Andin A:T
in B:T
out C:T17+T = tensor(bool)
T1 = tensor(bool)
ArgMaxin data:T
out reduced:tensor(int64)13+T = tensor(double), tensor(float), tensor(float16)
12T = tensor(double), tensor(float), tensor(float16)
[1, 11]T = tensor(double), tensor(float), tensor(float16)
ArgMinin data:T
out reduced:tensor(int64)13+T = tensor(double), tensor(float), tensor(float16)
12T = tensor(double), tensor(float), tensor(float16)
[1, 11]T = tensor(double), tensor(float), tensor(float16)
Attentionin Q:T1
in K:T1
in V:T2
in attn_mask:U
in past_key:T1
in past_value:T2
in nonpad_kv_seqlen:tensor(int64)
out Y:T1
out present_key:T1
out present_value:T2
out qk_matmul_output:T1

or

in Q:T1 in K:T1 in V:T2 in attn_mask:U in past_key:T1 in past_value:T2 out Y:T1 out present_key:T1 out present_value:T2 out qk_matmul_output:T1|24+|T1 = tensor(bfloat16), tensor(float), tensor(float16) T2 = tensor(bfloat16), tensor(float), tensor(float16) U = tensor(bfloat16), tensor(bool), tensor(float), tensor(float16)| |||23|T1 = tensor(bfloat16), tensor(float), tensor(float16) T2 = tensor(bfloat16), tensor(float), tensor(float16) U = tensor(bfloat16), tensor(bool), tensor(float), tensor(float16)| |AveragePool|in X:T out Y:T|22+|T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16)| |||[19, 21]|T = tensor(double), tensor(float), tensor(float16)| |||[11, 18]|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|23+|T1 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float4e2m1), tensor(float8e4m3fn), tensor(float8e5m2), 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(float4e2m1), tensor(float8e4m3fn), tensor(float8e5m2), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||[21, 22]|T1 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e5m2), 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(float4e2m1), tensor(float8e4m3fn), tensor(float8e5m2), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||[19, 20]|T1 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e5m2), 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(float4e2m1), tensor(float8e4m3fn), tensor(float8e5m2), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||[13, 18]|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(float4e2m1), tensor(float8e4m3fn), tensor(float8e5m2), 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(float4e2m1), tensor(float8e4m3fn), tensor(float8e5m2), 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(float4e2m1), tensor(float8e4m3fn), tensor(float8e5m2), 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|25+|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)| |||[23, 24]|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)| |||[21, 22]|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)| |||[9, 20]|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|22+|T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16)| |||[11, 21]|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)| |DeformConv|in X:T in W:T in offset:T in B:T in mask:T out Y:T|22+|T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16)| |||[19, 21]|T = tensor(double), tensor(float), tensor(float16)| |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)

or

in x:T1 in x_scale:T2 in x_zero_point:T1 out y:T2

or

in x:T1 in x_scale:T2 in x_zero_point:T1 out y:T3|21+|T1 = tensor(float8e4m3fn), tensor(float8e5m2), tensor(int4), tensor(int8), tensor(uint4), tensor(uint8) T2 = tensor(float), tensor(float16)| |||[19, 20]|T1 = tensor(float8e4m3fn), tensor(float8e5m2), tensor(int8), tensor(uint8) T2 = tensor(float), tensor(float16)| |||[13, 18]|T = tensor(int8), tensor(uint8)| |||[10, 12]|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(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||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(bfloat16), 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(bfloat16), 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|25+|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)| |||[23, 24]|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)| |||[21, 22]|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)| |||[13, 20]|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|22+|T = tensor(double), tensor(float), tensor(float16) T1 = tensor(int32)| |||[14, 21]|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)| |Gelu|in X:T out Y:T|20+|T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16)| |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|22+|T = tensor(double), tensor(float), tensor(float16)| |||[1, 21]|T = tensor(double), tensor(float), tensor(float16)| |GlobalMaxPool|in X:T out Y:T|22+|T = tensor(double), tensor(float), tensor(float16)| |||[1, 21]|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)| |GridSample|in X:T1 in grid:T2 out Y:T1|22+|T1 = tensor(float) T2 = tensor(float)| |||[20, 21]|T1 = tensor(float) T2 = tensor(float)| |||[16, 19]|T1 = tensor(float) T2 = tensor(float)| |HardSigmoid|in X:T out Y:T|22+|T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16)| |||[6, 21]|T = tensor(double), tensor(float), tensor(float16)| |HardSwish|in X:T out Y:T|22+|T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16)| |||[14, 21]|T = tensor(double), tensor(float), tensor(float16)| |Identity|in input:T out output:T

or

in input:V out output:V|25+|V = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(float8e4m3fn)), seq(tensor(float8e4m3fnuz)), seq(tensor(float8e5m2)), seq(tensor(float8e5m2fnuz)), 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(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||[23, 24]|V = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(float8e4m3fn)), seq(tensor(float8e4m3fnuz)), seq(tensor(float8e5m2)), seq(tensor(float8e5m2fnuz)), 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(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||[21, 22]|V = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(float8e4m3fn)), seq(tensor(float8e4m3fnuz)), seq(tensor(float8e5m2)), seq(tensor(float8e5m2fnuz)), 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(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||[19, 20]|V = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(float8e4m3fn)), seq(tensor(float8e4m3fnuz)), seq(tensor(float8e5m2)), seq(tensor(float8e5m2fnuz)), 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(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||[14, 18]|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|25+|B = tensor(bool) V = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(float8e4m3fn)), seq(tensor(float8e4m3fnuz)), seq(tensor(float8e5m2)), seq(tensor(float8e5m2fnuz)), 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(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||[23, 24]|B = tensor(bool) V = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(float8e4m3fn)), seq(tensor(float8e4m3fnuz)), seq(tensor(float8e5m2)), seq(tensor(float8e5m2fnuz)), 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(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||[21, 22]|B = tensor(bool) V = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(float8e4m3fn)), seq(tensor(float8e4m3fnuz)), seq(tensor(float8e5m2)), seq(tensor(float8e5m2fnuz)), 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(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||[19, 20]|B = tensor(bool) V = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(float8e4m3fn)), seq(tensor(float8e4m3fnuz)), seq(tensor(float8e5m2)), seq(tensor(float8e5m2fnuz)), 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(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||[13, 18]|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)| |IsInf|in X:T1 out Y:T2|20+|T1 = tensor(bfloat16), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz) T2 = tensor(bool)| |||[10, 19]|T1 = tensor(double), tensor(float) T2 = tensor(bool)| |IsNaN|in X:T1 out Y:T2|20+|T1 = tensor(bfloat16), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz) T2 = tensor(bool)| |||[13, 19]|T1 = tensor(bfloat16), tensor(double), tensor(float), tensor(float16) T2 = tensor(bool)| |||[9, 12]|T1 = tensor(double), tensor(float), tensor(float16) T2 = tensor(bool)| |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|17+|T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16) U = tensor(float)| |||[1, 16]|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|25+|B = tensor(bool) I = tensor(int64) V = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(float8e4m3fn)), seq(tensor(float8e4m3fnuz)), seq(tensor(float8e5m2)), seq(tensor(float8e5m2fnuz)), 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(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||[23, 24]|B = tensor(bool) I = tensor(int64) V = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(float8e4m3fn)), seq(tensor(float8e4m3fnuz)), seq(tensor(float8e5m2)), seq(tensor(float8e5m2fnuz)), 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(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||[21, 22]|B = tensor(bool) I = tensor(int64) V = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(float8e4m3fn)), seq(tensor(float8e4m3fnuz)), seq(tensor(float8e5m2)), seq(tensor(float8e5m2fnuz)), 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(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||[19, 20]|B = tensor(bool) I = tensor(int64) V = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(float8e4m3fn)), seq(tensor(float8e4m3fnuz)), seq(tensor(float8e5m2)), seq(tensor(float8e5m2fnuz)), 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(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||[13, 18]|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(float8e4m3fn)), seq(tensor(float8e4m3fnuz)), seq(tensor(float8e5m2)), seq(tensor(float8e5m2fnuz)), 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(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), 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(float8e4m3fn)), seq(tensor(float8e4m3fnuz)), seq(tensor(float8e5m2)), seq(tensor(float8e5m2fnuz)), 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(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), 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)| |Mod|in A:T in B:T out C:T|13+|T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)| |||[10, 12]|T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)| |Mul|in A:T in B:T out C:T|14+|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)| |||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(bfloat16), 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 in axes:Tind out output:T

or

in data:T in pads:tensor(int64) in constant_value:T out output:T

or

in data:T out output:T|25+|T = tensor(bool), tensor(double), tensor(float), tensor(float16)| |||24|T = tensor(bool), tensor(double), tensor(float), tensor(float16)| |||23|T = tensor(bool), tensor(double), tensor(float), tensor(float16)| |||[21, 22]|T = tensor(bool), tensor(double), tensor(float), tensor(float16)| |||[19, 20]|T = tensor(bool), tensor(double), tensor(float), tensor(float16)| |||18|T = tensor(bool), tensor(double), tensor(float), tensor(float16)| |||[13, 17]|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(bfloat16), tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64) T1 = tensor(bfloat16), tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64)| |||[13, 14]|T = tensor(bfloat16), 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:T1 in y_zero_point:T2 out y:T2

or

in x:T1 in y_scale:T2 in y_zero_point:T3 out y:T3

or

in x:T1 in y_scale:tensor(float) in y_zero_point:T2 out y:T2|21+|T1 = tensor(float), tensor(float16) T2 = tensor(float8e4m3fn), tensor(float8e5m2), tensor(int4), tensor(int8), tensor(uint4), tensor(uint8)| |||[19, 20]|T1 = tensor(float), tensor(float16) T2 = tensor(float8e4m3fn), tensor(float8e5m2), tensor(int8), tensor(uint8)| |||[13, 18]|T1 = tensor(float) T2 = tensor(int8), tensor(uint8)| |||[10, 12]|T1 = tensor(float) T2 = tensor(int8), tensor(uint8)| |RMSNormalization|in X:T in scale:V out Y:V|23+|T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16) V = tensor(bfloat16), tensor(double), tensor(float), tensor(float16)| |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 in axes:tensor(int64) out reduced:T

or

in data:T out reduced:T|18+|T = tensor(double), tensor(float), tensor(float16), tensor(int32)| |||[1, 17]|T = tensor(double), tensor(float), tensor(float16), tensor(int32)| |ReduceL2|in data:T in axes:tensor(int64) out reduced:T

or

in data:T out reduced:T|18+|T = tensor(double), tensor(float), tensor(float16), tensor(int32)| |||[1, 17]|T = tensor(double), tensor(float), tensor(float16), tensor(int32)| |ReduceLogSum|in data:T in axes:tensor(int64) out reduced:T

or

in data:T out reduced:T|18+|T = tensor(double), tensor(float), tensor(float16)| |||[1, 17]|T = tensor(double), tensor(float), tensor(float16)| |ReduceLogSumExp|in data:T in axes:tensor(int64) out reduced:T

or

in data:T out reduced:T|18+|T = tensor(double), tensor(float), tensor(float16)| |||[1, 17]|T = tensor(double), tensor(float), tensor(float16)| |ReduceMax|in data:T in axes:tensor(int64) out reduced:T

or

in data:T out reduced:T|18+|T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64)| |||[1, 17]|T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64)| |ReduceMean|in data:T in axes:tensor(int64) out reduced:T

or

in data:T out reduced:T|18+|T = tensor(double), tensor(float), tensor(float16), tensor(int32)| |||[1, 17]|T = tensor(double), tensor(float), tensor(float16), tensor(int32)| |ReduceMin|in data:T in axes:tensor(int64) out reduced:T

or

in data:T out reduced:T|18+|T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(int8), tensor(uint8)| |||[1, 17]|T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(int8), tensor(uint8)| |ReduceProd|in data:T in axes:tensor(int64) out reduced:T

or

in data:T out reduced:T|18+|T = tensor(double), tensor(float), tensor(float16), tensor(int32)| |||[1, 17]|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)| |||[1, 12]|T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64)| |ReduceSumSquare|in data:T in axes:tensor(int64) out reduced:T

or

in data:T out reduced:T|18+|T = tensor(double), tensor(float), tensor(float16)| |||[1, 17]|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|23+|T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) shape = tensor(int64)| |||[21, 22]|T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) shape = tensor(int64)| |||[19, 20]|T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) shape = tensor(int64)| |||[14, 18]|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|19+|T1 = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(uint8)| |||18|T1 = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(uint8)| |||[13, 17]|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|22+|T1 = tensor(bfloat16), tensor(double), tensor(float), tensor(float16) T2 = tensor(int64)| |||[16, 21]|T1 = tensor(double), tensor(float), tensor(float16) T2 = tensor(int64)| |||[10, 15]|T1 = tensor(double), tensor(float) T2 = tensor(int64)| |RotaryEmbedding|in X:T in cos_cache:T in sin_cache:T in position_ids:M out Y:T|23+|M = tensor(int64) T = tensor(bfloat16), tensor(float), tensor(float16)| |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|25+|V = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||[23, 24]|V = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||[21, 22]|V = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||[19, 20]|V = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||[16, 18]|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|18+|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)| |||[16, 17]|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)| |||[13, 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) 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|18+|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)| |||[16, 17]|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)| |||[13, 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)| |||[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|25+|T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T1 = tensor(int64)| |||[23, 24]|T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T1 = tensor(int64)| |||[21, 22]|T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T1 = tensor(int64)| |||[19, 20]|T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T1 = tensor(int64)| |||[15, 18]|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)| |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)| |SimplifiedLayerNormalization|in X:T in scale:V out Y:V out inv_std_var: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)| |Sin|in input:T out output:T|7+|T = tensor(double), tensor(float), tensor(float16)| |Size|in data:T out size:T1|25+|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)| |||[23, 24]|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)| |||[21, 22]|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, 20]|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|18+|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)| |||[13, 17]|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(bfloat16), 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|25+|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)| |||24|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)| |||23|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)| |||[21, 22]|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)| |||[13, 20]|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(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||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)| |TensorScatter|in past_cache:T in update:T in write_indices:tensor(int64) out present_cache:T|24+|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)| |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(bfloat16), 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|24+|I = tensor(int64) T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64)| |||[11, 23]|I = tensor(int64) T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64)| |||10|I = tensor(int64) T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64)| |||[1, 9]|T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64)| |Transpose|in data:T out transposed:T|23+|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)| |||[21, 22]|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)| |||[13, 20]|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|25+|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)| |||24|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)| |||23|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)| |||[21, 22]|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)| |||[13, 20]|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(bfloat16), 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 weights:T in bias:T in mask_index:M in past:T in attention_bias:T in past_sequence_length:M out output:T out present:T|1+|T = tensor(bfloat16), tensor(float), tensor(float16)| |BeamSearch|in input_ids:F 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 in decoder_input_ids:I in logits_processor:I out sequences:I out sequences_scores:T out scores:T|1+|T = tensor(float), tensor(float16)| |BiasAdd|in X:T in bias:T in skip:T out Y: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)| |BiasSplitGelu|in X:T in bias:T out Y:T|1+|T = 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)| |CausalConvWithState|in input:T in weight:T in bias:T in past_state:T out output:T out present_state:T|1+|T = tensor(float), tensor(float16)| |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)| |DecoderMaskedMultiHeadAttention|in query:T in key:T in value:T in mask_index:M in attention_bias:T in past_key:T in past_value:T in past_sequence_length:M in beam_width:M in cache_indirection:M in bias:T out output:T out present_key:T out present_value:T out qk:QK|1+|QK = tensor(float), tensor(float16) T = tensor(float), tensor(float16)| |DecoderMaskedSelfAttention|in input:T in weights:T in bias:T in mask_index:M in past:T in attention_bias:T in past_sequence_length:M in beam_width:M in cache_indirection:M out output:T out present: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)| |DequantizeWithOrder|in input:Q in scale_input:S out output:F|1+|F = tensor(float), tensor(float16) Q = tensor(int8) S = tensor(float)| |DynamicTimeWarping|in input:F out output:I|1+|F = tensor(float) I = tensor(int32)| |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(double), 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)| |GatedRelativePositionBias|in query_layer:T in query_bias:T in rel_pos:T in weight:T in bias:T in eco_a:T in token_offset:M out output:T|1+|T = tensor(float), tensor(float16)| |GatherBlockQuantized|in data:T1 in indices:Tind in scales:T2 in zero_points:T1 out output:T2|1+|T1 = tensor(int4), tensor(uint4), tensor(uint8) T2 = tensor(bfloat16), tensor(float), tensor(float16) Tind = tensor(int32), tensor(int64)| |Gelu|in X:T out Y:T|1+|T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16)| |GemmFloat8|in A:TA in B:TB in C:TC in scaleA:TS in scaleB:TS in scaleY:TS out Y:TR|1+|TA = tensor(bfloat16), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e5m2) TB = tensor(bfloat16), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e5m2) TR = tensor(bfloat16), tensor(float), tensor(float16), tensor(float8e4m3fn), tensor(float8e5m2) TS = tensor(float)| |GemmaRotaryEmbedding|in emb:U in q:T in q_rot:T in k:T in k_rot:T out output1:T out output2:T|1+|T = tensor(float16) U = tensor(float)| |GreedySearch|in input_ids:I in max_length:I in min_length:I in repetition_penalty:T in vocab_mask:I in prefix_vocab_mask:I in attention_mask:I out sequences:I|1+|T = tensor(float), tensor(float16)| |GridSample|in X:T1 in Grid:T1 out Y:T2|1+|T1 = tensor(float) T2 = tensor(float)| |GroupNorm|in X:T in gamma:M in beta:M out Y:T|1+|T = tensor(float), tensor(float16)| |GroupQueryAttention|in query:T in key:T in value:T in past_key:T_CACHE in past_value:T_CACHE in seqlens_k:M in total_sequence_length:M in cos_cache:T in sin_cache:T in position_ids:tensor(int64) in attention_bias:T in head_sink:T in k_scale:T_KV_SCALE in v_scale:T_KV_SCALE out output:T out present_key:T_CACHE out present_value:T_CACHE out output_qk:T|1+|M = tensor(int32) T = tensor(bfloat16), tensor(float16) T_CACHE = tensor(bfloat16), tensor(float16), tensor(float8e4m3fn), tensor(int8) T_KV_SCALE = 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)| |LinearAttention|in query:T in key:T in value:T in past_state:S in decay:T in beta:T out output:T out present_state:S|1+|T = 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)| |MatMulBnb4|in A:T1 in B:T2 in absmax:T1 out Y:T1|1+|T1 = tensor(bfloat16), tensor(float), tensor(float16) T2 = tensor(uint8)| |MatMulNBits|in A:T1 in B:T2 in scales:T1 in zero_points:T3 in g_idx:T4 in bias:T1 out Y:T1|1+|T1 = tensor(bfloat16), tensor(float), tensor(float16) T2 = tensor(uint8) T3 = tensor(bfloat16), tensor(float), tensor(float16), tensor(uint8)| |MoE|in input:T in router_probs:T in fc1_experts_weights:T in fc1_experts_bias:T in fc2_experts_weights:T in fc2_experts_bias:T in fc3_experts_weights:T in fc3_experts_bias:T out output:T|1+|T = tensor(bfloat16), tensor(float), tensor(float16)| |MultiHeadAttention|in query:T in key:T in value:T in bias:T in key_padding_mask:M in attention_bias:T in past_key:T in past_value:T in past_sequence_length:M in cache_indirection:M out output:T out present_key:T out present_value:T out qk:QK|1+|QK = tensor(bfloat16), tensor(float), tensor(float16) T = tensor(bfloat16), tensor(float), tensor(float16)| |NGramRepeatBlock|in input_ids:Tid in scores:T out scores_out:T|1+|T = tensor(float) Tid = tensor(int64)| |NhwcConv|in X:T in W:T in B:T out Y:T|1+|T = tensor(float), tensor(float16)| |PackedAttention|in input:T in weights:T in bias:T in token_offset:M in cumulative_sequence_length:M in attention_bias:T out output:T|1+|T = tensor(float), tensor(float16)| |PackedMultiHeadAttention|in query:T in key:T in value:T in bias:T in token_offset:M in cumulative_sequence_length:M in attention_bias:T out output:T|1+|T = tensor(float), tensor(float16)| |PagedAttention|in query:T in key:T in value:T in key_cache:T in value_cache:T in cumulative_sequence_length:S in past_seqlens:S in block_table:S in cos_cache:T in sin_cache:T out output:T out key_cache_out:T out value_cache_out:T|1+|S = tensor(int32) T = tensor(bfloat16), tensor(float16)| |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)| |QMoE|in input:T in router_probs:T in fc1_experts_weights:T1 in fc1_scales:T2 in fc1_experts_bias:T in fc2_experts_weights:T1 in fc2_scales:T2 in fc2_experts_bias:T in fc3_experts_weights:T1 in fc3_scales:T2 in fc3_experts_bias:T in fc1_zero_points:T1 in fc2_zero_points:T1 in fc3_zero_points:T1 in router_weights:T out output:T|1+|T = tensor(bfloat16), tensor(float16) T1 = tensor(uint8) T2 = tensor(bfloat16), tensor(float16)| |QOrderedAttention|in input:Q in scale_input:S in scale_Q_gemm:S in scale_K_gemm:S in scale_V_gemm:S in Q_weight:Q in K_weight:Q in V_weight:Q in scale_Q_weight:S in scale_K_weight:S in scale_V_weight:S in Q_bias:S in K_bias:S in V_bias:S in scale_QKT_gemm:S in scale_QKT_softmax:S in scale_values_gemm:S in mask_index:G in past:Q in attention_bias:S out output:Q|1+|G = tensor(int32) Q = tensor(int8) S = tensor(float)| |QOrderedGelu|in X:Q in scale_X:S in scale_Y:S out Y:Q|1+|Q = tensor(int8) S = tensor(float)| |QOrderedLayerNormalization|in X:Q in scale_X:S in scale:F in B:F in scale_Y:S out Y:Q|1+|F = tensor(float), tensor(float16) Q = tensor(int8) S = tensor(float)| |QOrderedLongformerAttention|in input:Q in scale_input:S in weight:Q in scale_weight:S in bias:S in scale_bias:S in scale_qkv_gemm:S in mask:F in global_weight:Q in scale_global_weight:S in global_bias:S in scale_global_gemm:S in global:G in scale_output:S out output:Q|1+|F = tensor(float16) G = tensor(int32) Q = tensor(int8) S = tensor(float)| |QOrderedMatMul|in A:Q in scale_A:S in B:Q in scale_B:S in scale_Y:S in bias:S in C:Q in scale_C:S out Y:Q|1+|Q = tensor(int8) S = tensor(float)| |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)| |QuantizeWithOrder|in input:F in scale_input:S out output:Q|1+|F = tensor(float), tensor(float16) Q = tensor(int8) S = tensor(float)| |QuickGelu|in X:T out Y:T|1+|T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16)| |RelativePositionBias|in bias_table:T in query_length:U in key_length:U out output:T|1+|T = tensor(float), tensor(float16)| |RemovePadding|in input:T in sequence_token_count:M out output:T out token_offset:M out cumulated_seq_len:M out max_seq_len:M|1+|T = tensor(float), tensor(float16)| |RestorePadding|in input:T in token_offset:M out output:T|1+|T = tensor(float), tensor(float16)| |Rfft|in X:T out Y:T|1+|T = tensor(double), tensor(float), tensor(float16)| |RotaryEmbedding|in input:T in position_ids:M in cos_cache:T in sin_cache:T out output:T|1+|M = tensor(int64) T = tensor(bfloat16), tensor(float), tensor(float16)| |Sampling|in input_ids:I in max_length:I in min_length:I in repetition_penalty:T in vocab_mask:I in prefix_vocab_mask:I in attention_mask:I in presence_mask:I in seed:I out sequences:I out filtered_logits:T|1+|T = tensor(float), tensor(float16)| |SkipGroupNorm|in X:T in gamma:M in beta:M in skip:T in bias:T out Y:T out S:T|1+|T = 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 out input_skip_bias_sum:T|1+|T = tensor(bfloat16), tensor(float), tensor(float16)| |SkipSimplifiedLayerNormalization|in input:T in skip:T in gamma:T in bias:T out output:T out mean:U out inv_std_var:U out input_skip_bias_sum:T|1+|T = tensor(bfloat16), tensor(float), tensor(float16)| |SparseAttention|in query:T in key:T in value:T in past_key:T in past_value:T in block_row_indices:M in block_col_indices:M in total_sequence_length:M in key_total_sequence_lengths:M in cos_cache:T in sin_cache:T out output:T out present_key:T out present_value:T|1+|M = tensor(int32) T = tensor(bfloat16), 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)| |UnfoldTensor|in input:T 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)| |WhisperBeamSearch|in input_ids:F 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 in decoder_input_ids:I in logits_processor:I in cross_qk_layer_head:I in extra_decoding_ids:I in temperature:T out sequences:I out sequences_scores:T out scores:T out cross_qk:V out non_speech_probs:T|1+|T = tensor(float), tensor(float16)| | | | | |Operator Domain: com.ms.internal.nhwc|||| |AveragePool|in X:T out Y:T|22+|T = tensor(float), tensor(float16)| |||[19, 21]|T = tensor(float), tensor(float16)| |||[11, 18]|T = tensor(float), tensor(float16)| |||10|T = tensor(float), tensor(float16)| |||[7, 9]|T = 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)| |Conv|in X:T in W:T in B:T out Y:T|22+|T = tensor(float), tensor(float16)| |||[11, 21]|T = tensor(float), tensor(float16)| |||[1, 10]|T = tensor(float), tensor(float16)| |ConvTranspose|in X:T in W:T in B:T out Y:T|11+|T = tensor(float), tensor(float16)| |||[1, 10]|T = tensor(float), tensor(float16)| |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)| |GlobalAveragePool|in X:T out Y:T|22+|T = tensor(float), tensor(float16)| |||[1, 21]|T = tensor(float), tensor(float16)| |GlobalMaxPool|in X:T out Y:T|22+|T = tensor(float), tensor(float16)| |||[1, 21]|T = tensor(float), tensor(float16)| |GridSample|in X:T1 in grid:T2 out Y:T1|22+|T1 = tensor(float) T2 = tensor(float)| |||[20, 21]|T1 = tensor(float) T2 = tensor(float)| |||[16, 19]|T1 = tensor(float) T2 = tensor(float)| |LRN|in X:T out Y:T|13+|T = tensor(double), tensor(float), tensor(float16)| |||[1, 12]|T = 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(float), tensor(float16), tensor(int8), tensor(uint8)| |||11|I = tensor(int64) T = tensor(float), tensor(float16)| |||10|I = tensor(int64) T = tensor(float), tensor(float16)| |||[8, 9]|I = tensor(int64) T = tensor(float), tensor(float16)| |||[1, 7]|T = 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)| | | | |

<a name="dmlexecutionprovider"/>

Operators implemented by DmlExecutionProvider

Op NameParametersOpSet VersionTypes Supported
Operator Domain: ai.onnx
Absin X:T
out Y:T13+T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8)
6+T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8)
Acosin input:T
out output:T7+T = tensor(float), tensor(float16)
Acoshin input:T
out output:T9+T = tensor(float), tensor(float16)
Addin A:T
in B:T
out C:T14+T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
13+T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
7+T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
Affinein X:T
out Y:T1+T = tensor(float), tensor(float16)
Andin A:T
in B:T
out C:T17+T = tensor(bool)
ArgMaxin data:T
out reduced:tensor(int64)13+T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
12+T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
11+T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
1+T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
ArgMinin data:T
out reduced:tensor(int64)13+T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
12+T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
11+T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
1+T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
Asinin input:T
out output:T7+T = tensor(float), tensor(float16)
Asinhin input:T
out output:T9+T = tensor(float), tensor(float16)
Atanin input:T
out output:T7+T = tensor(float), tensor(float16)
Atanhin input:T
out output:T9+T = tensor(float), tensor(float16)
AveragePoolin X:T
out Y:T19+T = tensor(float), tensor(float16)
11+T = tensor(float), tensor(float16)
10+T = tensor(float), tensor(float16)
7+T = tensor(float), tensor(float16)
BatchNormalizationin 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(float), tensor(float16)| |||14+|T = tensor(float), tensor(float16)| |||9+|T = tensor(float), tensor(float16)| |||7+|T = tensor(float), tensor(float16)| |BitShift|in X:T in Y:T out Z:T|11+|T = tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |BitwiseAnd|in A:T in B:T out C:T|18+|T = tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |BitwiseNot|in X:T out Y:T|18+|T = tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |BitwiseOr|in A:T in B:T out C:T|18+|T = tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |BitwiseXor|in A:T in B:T out C:T|18+|T = tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |Cast|in input:T1 out output:T2|21+|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(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||19+|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(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||13+|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(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||9+|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(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||6+|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(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |CastLike|in input:T1 in target_type:T2 out output:T2|21+|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(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||19+|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(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||15+|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(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(float), tensor(float16)| |||6+|T = tensor(float), tensor(float16)| |Celu|in X:T out Y:T|12+|T = 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(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||12+|T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||11+|T = tensor(float), tensor(float16)| |||6+|T = tensor(float), tensor(float16)| |Col2Im|in input:T in image_shape:tensor(int64) in block_shape:tensor(int64) out output:T|18+|T = tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |Concat|in inputs:T out concat_result:T|13+|T = 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+|T = 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+|T = 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+|T = 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(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |ConstantOfShape|in input:T1 out output:T2|21+|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)| |||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), tensor(float16)| |||1+|T = tensor(float), tensor(float16)| |ConvInteger|in x:T1 in w:T2 in x_zero_point:T1 in w_zero_point:T2 out y:T3|10+|T1 = tensor(int8), tensor(uint8) T2 = tensor(int8), tensor(uint8) T3 = tensor(int32)| |ConvTranspose|in X:T in W:T in B:T out Y:T|11+|T = tensor(float), tensor(float16)| |||1+|T = tensor(float), tensor(float16)| |Cos|in input:T out output:T|7+|T = tensor(float), tensor(float16)| |Cosh|in input:T out output:T|9+|T = tensor(float), tensor(float16)| |Crop|in input:T out output:T|1+|T = tensor(float), tensor(float16)| |CumSum|in x:T in axis:T2 out y:T|14+|T = tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)| |||11+|T = tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)| |DFT|in input:T1 in dft_length:T2 in axis:tensor(int64) out output:T1

or

in input:T1 in dft_length:T2 out output:T1|20+|T1 = tensor(double), tensor(float), tensor(float16) T2 = tensor(int32), tensor(int64)| |||17+|T1 = tensor(double), tensor(float), tensor(float16) T2 = tensor(int32), tensor(int64)| |DepthToSpace|in input:T out output:T|13+|T = 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+|T = 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+|T = tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |DequantizeLinear|in x:T in x_scale:tensor(float) in x_zero_point:T out y:tensor(float)

or

in x:T1 in x_scale:T2 in x_zero_point:T1 out y:T2

or

in x:T1 in x_scale:T2 in x_zero_point:T1 out y:T3|21+|T1 = tensor(int4), tensor(int8), tensor(uint4), tensor(uint8) T2 = tensor(float), tensor(float16)| |||19+|T1 = tensor(int32), tensor(int8), tensor(uint8) T2 = tensor(float), tensor(float16)| |||13+|T = tensor(int32), tensor(int8), tensor(uint8)| |||10+|T = tensor(int32), tensor(int8), tensor(uint8)| |Div|in A:T in B:T out C:T|14+|T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||13+|T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||7+|T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |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|7+|T = tensor(float), tensor(float16)| |DynamicQuantizeLinear|in x:T1 out y:T2 out y_scale:tensor(float) out y_zero_point:T2|11+|T1 = tensor(float) T2 = tensor(int8), tensor(uint8)| |Einsum|in Inputs:T out Output:T|12+|T = tensor(float), tensor(float16)| |Elu|in X:T out Y:T|6+|T = tensor(float), tensor(float16)| |Equal|in A:T in B:T out C:T1|19+|T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T1 = tensor(bool)| |||13+|T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T1 = tensor(bool)| |||11+|T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T1 = tensor(bool)| |||7+|T = tensor(float), tensor(float16) T1 = tensor(bool)| |Erf|in input:T out output:T|13+|T = tensor(float), tensor(float16)| |||9+|T = tensor(float), tensor(float16)| |Exp|in input:T out output:T|13+|T = tensor(float), tensor(float16)| |||6+|T = tensor(float), tensor(float16)| |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(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||8+|T = 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(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(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |Flatten|in input:T out output:T|21+|T = 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(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||11+|T = 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+|T = 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+|T = 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(float), tensor(float16)| |||6+|T = 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(float), tensor(float16)| |||7+|T = tensor(float), tensor(float16)| |Gather|in data:T in indices:Tind out output:T|13+|T = 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+|T = 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+|T = 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(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+|T = 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(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||12+|T = 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+|T = tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |Gemm|in A:T in B:T in C:T out Y:T|13+|T = tensor(float), tensor(float16)| |||11+|T = tensor(float), tensor(float16)| |||9+|T = tensor(float), tensor(float16)| |||7+|T = tensor(float), tensor(float16)| |GlobalAveragePool|in X:T out Y:T|1+|T = tensor(float), tensor(float16)| |GlobalLpPool|in X:T out Y:T|2+|T = tensor(float), tensor(float16)| |GlobalMaxPool|in X:T out Y:T|1+|T = tensor(float), tensor(float16)| |Greater|in A:T in B:T out C:T1|13+|T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T1 = tensor(bool)| |||9+|T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T1 = tensor(bool)| |||7+|T = tensor(float), tensor(float16) T1 = tensor(bool)| |GreaterOrEqual|in A:T in B:T out C:T1|16+|T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T1 = tensor(bool)| |||12+|T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T1 = tensor(bool)| |GridSample|in X:T1 in grid:T2 out Y:T1|16+|T1 = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T2 = tensor(float), tensor(float16)| |GroupNorm||21+|M = tensor(float), tensor(float16) T = tensor(float), tensor(float16)| |HardSigmoid|in X:T out Y:T|6+|T = tensor(float), tensor(float16)| |Hardmax|in input:T out output:T|13+|T = tensor(float), tensor(float16)| |||11+|T = tensor(float), tensor(float16)| |||1+|T = tensor(float), tensor(float16)| |Identity|in input:T out output:T

or

in input:V out output:V|21+|V = tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||19+|V = tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||16+|V = tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||14+|V = 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(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||1+|T = 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|19+|B = tensor(bool) V = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(float8e4m3fn)), seq(tensor(float8e4m3fnuz)), seq(tensor(float8e5m2)), seq(tensor(float8e5m2fnuz)), 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(float8e4m3fn), tensor(float8e4m3fnuz), tensor(float8e5m2), tensor(float8e5m2fnuz), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||16+|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)| |||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+|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)| |||7+|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(float), tensor(float16)| |InstanceNormalization|in input:T in scale:T in B:T out output:T|6+|T = tensor(float), tensor(float16)| |IsInf|in X:T1 out Y:T2|20+|T1 = tensor(float) T2 = tensor(bool)| |||10+|T1 = tensor(float) T2 = tensor(bool)| |IsNaN|in X:T1 out Y:T2|20+|T1 = tensor(float), tensor(float16) T2 = tensor(bool)| |||13+|T1 = tensor(float), tensor(float16) T2 = tensor(bool)| |||9+|T1 = tensor(float), tensor(float16) T2 = tensor(bool)| |LRN|in X:T out Y:T|13+|T = tensor(float), tensor(float16)| |||1+|T = 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(float), tensor(float16)| |||7+|T = tensor(float), tensor(float16)| |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|17+|T = tensor(float), tensor(float16) U = tensor(float)| |||1+|T = tensor(float), tensor(float16) U = tensor(float), tensor(float16) V = tensor(float), tensor(float16)| |LeakyRelu|in X:T out Y:T|16+|T = tensor(float), tensor(float16)| |||6+|T = tensor(float), tensor(float16)| |Less|in A:T in B:T out C:T1|13+|T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T1 = tensor(bool)| |||9+|T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T1 = tensor(bool)| |||7+|T = tensor(float), tensor(float16) T1 = tensor(bool)| |LessOrEqual|in A:T in B:T out C:T1|16+|T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T1 = tensor(bool)| |||12+|T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8) T1 = tensor(bool)| |Log|in input:T out output:T|13+|T = tensor(float), tensor(float16)| |||6+|T = tensor(float), tensor(float16)| |LogSoftmax|in input:T out output:T|13+|T = tensor(float), tensor(float16)| |||11+|T = tensor(float), tensor(float16)| |||1+|T = tensor(float), tensor(float16)| |LpNormalization|in input:T out output:T|1+|T = tensor(float), tensor(float16)| |LpPool|in X:T out Y:T|18+|T = tensor(float), tensor(float16)| |||11+|T = tensor(float), tensor(float16)| |||2+|T = tensor(float), tensor(float16)| |MatMul|in A:T in B:T out Y:T|13+|T = tensor(float), tensor(float16)| |||9+|T = tensor(float), tensor(float16)| |||1+|T = 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), tensor(uint8) T2 = tensor(int8), tensor(uint8) T3 = tensor(int32)| |Max|in data_0:T out max:T|13+|T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||12+|T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||8+|T = tensor(float), tensor(float16)| |||6+|T = 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(float), tensor(float16), tensor(int8), tensor(uint8)| |||11+|I = tensor(int64) T = tensor(float), tensor(float16), tensor(int8), tensor(uint8)| |||10+|I = tensor(int64) T = tensor(float), tensor(float16), tensor(int8), tensor(uint8)| |||8+|I = tensor(int64) T = tensor(float), tensor(float16), tensor(int8), tensor(uint8)| |||1+|T = tensor(float), tensor(float16)| |MaxRoiPool|in X:T in rois:T out Y:T|1+|T = tensor(float), tensor(float16)| |MaxUnpool|in X:T1 in I:T2 in output_shape:T2 out output:T1|11+|T1 = tensor(float), tensor(float16) T2 = tensor(int64)| |||9+|T1 = tensor(float), tensor(float16) T2 = tensor(int64)| |Mean|in data_0:T out mean:T|13+|T = tensor(float), tensor(float16)| |||8+|T = tensor(float), tensor(float16)| |||6+|T = tensor(float), tensor(float16)| |MeanVarianceNormalization|in X:T out Y:T

or

in input:T out output:T|13+|T = tensor(float), tensor(float16)| |||9+|T = tensor(float), tensor(float16)| |||1+|T = tensor(float), tensor(float16)| |MemcpyFromHost|in X:T out Y:T|1+|T = 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(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int4), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint4), tensor(uint64), tensor(uint8)| |MemcpyToHost|in X:T out Y:T|1+|T = 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(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int4), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint4), tensor(uint64), tensor(uint8)| |Min|in data_0:T out min:T|13+|T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||12+|T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||8+|T = tensor(float), tensor(float16)| |||6+|T = tensor(float), tensor(float16)| |Mod|in A:T in B:T out C:T|13+|T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint8)| |||10+|T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint8)| |Mul|in A:T in B:T out C:T|14+|T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||13+|T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||7+|T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |Neg|in X:T out Y:T|13+|T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8)| |||6+|T = 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(int16), tensor(int32), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint8)| |||9+|T = tensor(bool), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int8), tensor(uint16), tensor(uint32), 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), tensor(uint32), tensor(uint64) 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) T3 = 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+|T1 = tensor(int32), tensor(int64), tensor(uint32), tensor(uint64) 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) T3 = tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |OptionalGetElement|in input:O out output:V|18+|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)), 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) 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)| |||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|18+|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)), 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)| |||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)| |PRelu|in X:T in slope:T out Y:T|16+|T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int8)| |||9+|T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int8)| |||7+|T = tensor(float), tensor(float16)| |Pad|in data:T in pads:tensor(int64) in constant_value:T in axes:Tind out output:T

or

in data:T in pads:tensor(int64) in constant_value:T out output:T

or

in data:T out output:T|21+|T = tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||19+|T = tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||18+|T = 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(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||11+|T = 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+|T = tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |ParametricSoftplus|in X:T out Y:T|1+|T = 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(float), tensor(float16), tensor(int32) T1 = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint8)| |||13+|T = tensor(float), tensor(float16), tensor(int32) T1 = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint8)| |||12+|T = tensor(float), tensor(float16), tensor(int32) T1 = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint8)| |||7+|T = tensor(float), tensor(float16)| |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:TS in a_zero_point:T1 in b:T2 in b_scale:TS in b_zero_point:T2 in y_scale:TS in y_zero_point:T3 out y:T3

or

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|21+|T1 = tensor(int8), tensor(uint8) T2 = tensor(int8), tensor(uint8) T3 = tensor(int8), tensor(uint8)| |||10+|T1 = tensor(int8), tensor(uint8) T2 = tensor(int8), tensor(uint8) T3 = tensor(int8), tensor(uint8)| |QuantizeLinear|in x:T1 in y_scale:T1 in y_zero_point:T2 out y:T2

or

in x:T1 in y_scale:T2 in y_zero_point:T3 out y:T3

or

in x:T1 in y_scale:tensor(float) in y_zero_point:T2 out y:T2|21+|T1 = tensor(float), tensor(float16) T2 = tensor(int4), tensor(int8), tensor(uint4), tensor(uint8)| |||19+|T1 = tensor(float), tensor(float16), tensor(int32) T2 = tensor(int8), tensor(uint8)| |||13+|T1 = tensor(float), tensor(int32) T2 = tensor(int8), tensor(uint8)| |||10+|T1 = tensor(float), tensor(int32) 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), tensor(float16)| |||7+|T = tensor(float), tensor(float16)| |Range|in start:T in limit:T in delta:T out output:T|11+|T = tensor(float), tensor(int16), tensor(int32), tensor(int64)| |Reciprocal|in X:T out Y:T|13+|T = tensor(float), tensor(float16)| |||6+|T = tensor(float), tensor(float16)| |ReduceL1|in data:T in axes:tensor(int64) out reduced:T

or

in data:T out reduced:T|18+|T = tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)| |||13+|T = tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)| |||11+|T = tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)| |||1+|T = tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)| |ReduceL2|in data:T in axes:tensor(int64) out reduced:T

or

in data:T out reduced:T|18+|T = tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)| |||13+|T = tensor(float), tensor(float16)| |||11+|T = tensor(float), tensor(float16)| |||1+|T = tensor(float), tensor(float16)| |ReduceLogSum|in data:T in axes:tensor(int64) out reduced:T

or

in data:T out reduced:T|18+|T = tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)| |||13+|T = tensor(float), tensor(float16)| |||11+|T = tensor(float), tensor(float16)| |||1+|T = tensor(float), tensor(float16)| |ReduceLogSumExp|in data:T in axes:tensor(int64) out reduced:T

or

in data:T out reduced:T|18+|T = tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)| |||13+|T = tensor(float), tensor(float16)| |||11+|T = tensor(float), tensor(float16)| |||1+|T = tensor(float), tensor(float16)| |ReduceMax|in data:T in axes:tensor(int64) out reduced:T

or

in data:T out reduced:T|20+|T = tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||18+|T = tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)| |||13+|T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||12+|T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||11+|T = tensor(float), tensor(float16)| |||1+|T = tensor(float), tensor(float16)| |ReduceMean|in data:T in axes:tensor(int64) out reduced:T

or

in data:T out reduced:T|18+|T = tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)| |||13+|T = tensor(float), tensor(float16)| |||11+|T = tensor(float), tensor(float16)| |||1+|T = tensor(float), tensor(float16)| |ReduceMin|in data:T in axes:tensor(int64) out reduced:T

or

in data:T out reduced:T|20+|T = tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||18+|T = tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)| |||13+|T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||12+|T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||11+|T = tensor(float), tensor(float16)| |||1+|T = tensor(float), tensor(float16)| |ReduceProd|in data:T in axes:tensor(int64) out reduced:T

or

in data:T out reduced:T|18+|T = tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)| |||13+|T = tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)| |||11+|T = tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)| |||1+|T = tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)| |ReduceSum|in data:T in axes:tensor(int64) out reduced:T

or

in data:T out reduced:T|13+|T = tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)| |||11+|T = tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)| |||1+|T = tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)| |ReduceSumSquare|in data:T in axes:tensor(int64) out reduced:T

or

in data:T out reduced:T|18+|T = tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)| |||13+|T = tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)| |||11+|T = tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)| |||1+|T = tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)| |Relu|in X:T out Y:T|14+|T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int8)| |||13+|T = tensor(float), tensor(float16)| |||6+|T = tensor(float), tensor(float16)| |Reshape|in data:T in shape:tensor(int64) out reshaped:T

or

in data:T out reshaped:T|21+|T = tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||19+|T = tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||14+|T = 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(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||5+|T = 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|19+|T1 = tensor(float), tensor(float16), tensor(int8), tensor(uint8) T2 = tensor(float), tensor(float16)| |||18+|T1 = tensor(float), tensor(float16), tensor(int8), tensor(uint8) T2 = tensor(float), tensor(float16)| |||13+|T1 = tensor(float), tensor(float16), tensor(int8), tensor(uint8) T2 = tensor(float), tensor(float16)| |||11+|T1 = tensor(float), tensor(float16), tensor(int8), tensor(uint8) T2 = tensor(float), tensor(float16)| |||10+|T = tensor(float), tensor(float16)| |ReverseSequence|in input:T in sequence_lens:tensor(int64) out Y:T|10+|T = 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|16+|T1 = tensor(float), tensor(float16) T2 = tensor(int32), tensor(int64)| |||10+|T1 = tensor(float), tensor(float16) T2 = tensor(int32), tensor(int64)| |Round|in X:T out Y:T|11+|T = 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(float), tensor(float16) T2 = tensor(int32), tensor(int64)| |ScaledTanh|in input:T out output:T|1+|T = tensor(float), tensor(float16)| |Scatter|in data:T in indices:Tind in updates:T out output:T|13+|T = 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+|T = 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)| |||9+|T = 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|16+|T = 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)| |||13+|T = 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+|T = 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|16+|T = 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(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||11+|T = 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(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|21+|T = 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(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int4), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint4), tensor(uint64), tensor(uint8) T1 = tensor(int64)| |||19+|T = 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(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int4), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint4), tensor(uint64), tensor(uint8) T1 = tensor(int64)| |||15+|T = 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(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int4), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint4), tensor(uint64), tensor(uint8) T1 = tensor(int64)| |||13+|T = 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(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int4), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint4), tensor(uint64), tensor(uint8) T1 = tensor(int64)| |||1+|T = 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(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int4), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint4), tensor(uint64), tensor(uint8) T1 = tensor(int64)| |Shrink|in input:T out output:T|9+|T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint8)| |Sigmoid|in X:T out Y:T|13+|T = tensor(float), tensor(float16)| |||6+|T = tensor(float), tensor(float16)| |Sign|in input:T out output:T|13+|T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||9+|T = 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(float), tensor(float16) U = tensor(float), tensor(float16) V = tensor(float), tensor(float16)| |Sin|in input:T out output:T|7+|T = tensor(float), tensor(float16)| |Sinh|in input:T out output:T|9+|T = tensor(float), tensor(float16)| |Size|in data:T out size:T1|21+|T = 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(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int4), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint4), tensor(uint64), tensor(uint8) T1 = tensor(int64)| |||19+|T = 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(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int4), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint4), tensor(uint64), tensor(uint8) T1 = tensor(int64)| |||13+|T = 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(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int4), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint4), tensor(uint64), tensor(uint8) T1 = tensor(int64)| |||1+|T = 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(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int4), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint4), 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(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+|T = 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(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+|T = 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(float), tensor(float16)| |||11+|T = tensor(float), tensor(float16)| |||1+|T = tensor(float), tensor(float16)| |Softplus|in X:T out Y:T|1+|T = tensor(float), tensor(float16)| |Softsign|in input:T out output:T|1+|T = tensor(float), tensor(float16)| |SpaceToDepth|in input:T out output:T|13+|T = 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+|T = tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |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|18+|T = 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(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||11+|T = 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+|T = 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(float), tensor(float16)| |||6+|T = tensor(float), tensor(float16)| |Squeeze|in data:T in axes:tensor(int64) out squeezed:T

or

in data:T out squeezed:T|21+|T = 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(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||11+|T = 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+|T = 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(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||13+|T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||7+|T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |Sum|in data_0:T out sum:T|13+|T = tensor(float), tensor(float16)| |||8+|T = tensor(float), tensor(float16)| |||6+|T = tensor(float), tensor(float16)| |Tan|in input:T out output:T|7+|T = tensor(float), tensor(float16)| |Tanh|in input:T out output:T|13+|T = tensor(float), tensor(float16)| |||6+|T = tensor(float), tensor(float16)| |ThresholdedRelu|in X:T out Y:T|10+|T = tensor(float), tensor(float16)| |||1+|T = 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(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||6+|T = tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |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(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(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||1+|I = tensor(int64) T = 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|21+|T = 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(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||1+|T = 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(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|21+|T = 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(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |||11+|T = 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+|T = 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|10+|T = tensor(float), tensor(float16)| |||9+|T = tensor(float), tensor(float16)| |||7+|T = tensor(float), tensor(float16)| |Where|in condition:B in X:T in Y:T out output:T|16+|B = tensor(bool) T = 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+|B = tensor(bool) T = tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)| |Xor|in A:T in B:T out C:T1|7+|T = tensor(bool)| | | | | |Operator Domain: com.microsoft|||| |Attention|in input:T in weights:T in bias:T in mask_index:M in past:T in attention_bias:T in past_sequence_length:M out output:T out present:T|1+|M = tensor(int32) T = tensor(float), tensor(float16)| |BiasAdd|in X:T in bias:T in skip:T out Y:T|1+|T = tensor(float), tensor(float16)| |BiasGelu|in A:T in B:T out C:T|1+|T = tensor(float), tensor(float16)| |BiasSplitGelu|in X:T in bias:T out Y: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), tensor(float16)| |DequantizeLinear|in x:T1 in x_scale:T2 in x_zero_point:T1 out y:T2|1+|T1 = tensor(int32), tensor(int8), tensor(uint8) T2 = tensor(float), tensor(float16)| |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), tensor(float16)| |FastGelu|in X:T in bias:T out Y:T|1+|T = tensor(float), tensor(float16)| |FusedMatMul|in A:T in B:T out Y:T|1+|T = tensor(float), tensor(float16)| |FusedMatMulActivation|in A:T in B:T out Y:T|1+|T = tensor(float), tensor(float16)| |Gelu|in X:T out Y:T|1+|T = tensor(float), tensor(float16)| |GroupNorm|in X:T in gamma:M in beta:M out Y:T|1+|M = tensor(float), tensor(float16) T = tensor(float), tensor(float16)| |GroupQueryAttention|in query:T in key:T in value:T in past_key:T_CACHE in past_value:T_CACHE in seqlens_k:M in total_sequence_length:M in cos_cache:T in sin_cache:T in position_ids:tensor(int64) in attention_bias:T in head_sink:T in k_scale:T_KV_SCALE in v_scale:T_KV_SCALE out output:T out present_key:T_CACHE out present_value:T_CACHE out output_qk:T|1+|M = tensor(int32) T = tensor(float), tensor(float16)| |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), tensor(float16)| |MatMulNBits|in A:T1 in B:T2 in scales:T1 in zero_points:T3 in g_idx:T4 in bias:T1 out Y:T1|1+|T1 = tensor(float), tensor(float16) T2 = tensor(uint8)| |MultiHeadAttention|in query:T in key:T in value:T in bias:T in key_padding_mask:M in attention_bias:T in past_key:T in past_value:T in past_sequence_length:M in cache_indirection:M out output:T out present_key:T out present_value:T out qk:QK|1+|M = tensor(int32) T = tensor(float), tensor(float16)| |NhwcConv|in X:T in W:T in B:T out Y:T|1+|T = tensor(float), tensor(float16)| |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), tensor(uint8) T2 = tensor(int8), tensor(uint8) T3 = tensor(float), tensor(float16) T4 = tensor(int32)| |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)| |QLinearAveragePool|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)| |QLinearConcat|in Y_scale:TF in Y_zero_point:T8 in inputs:TV out Y:T8|1+|T8 = tensor(int8), tensor(uint8) TF = tensor(float) TV = tensor(float), tensor(int8), tensor(uint8)| |QLinearGlobalAveragePool|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)| |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), tensor(float16), tensor(int32) T2 = tensor(int8), tensor(uint8)| |QuickGelu|in X:T out Y:T|1+|T = tensor(float), tensor(float16)| |RotaryEmbedding|in input:T in position_ids:M in cos_cache:T in sin_cache:T out output:T|1+|M = tensor(int64) T = 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 out input_skip_bias_sum:T|1+|T = tensor(float), tensor(float16)| |SkipSimplifiedLayerNormalization|in input:T in skip:T in gamma:T in bias:T out output:T out mean:U out inv_std_var:U out input_skip_bias_sum:T|1+|T = tensor(float), tensor(float16)| | | | | |Operator Domain: com.microsoft.dml|||| |DmlFusedAdd|in A:T in B:T out C:T|1+|T = tensor(float), tensor(float16)| |DmlFusedBatchNormalization|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|1+|T = tensor(float), tensor(float16)| |DmlFusedConv|in X:T in W:T in B:T out Y:T|1+|T = tensor(float), tensor(float16)| |DmlFusedConvTranspose|in X:T in W:T in B:T out Y:T|1+|T = tensor(float), tensor(float16)| |DmlFusedGemm|in A:T in B:T in C:T out Y:T|1+|T = tensor(float), tensor(float16)| |DmlFusedInstanceNormalization|in input:T in scale:T in B:T out output:T|1+|T = tensor(float), tensor(float16)| |DmlFusedMatMul|in A:T in B:T out Y:T|1+|T = tensor(float), tensor(float16)| |DmlFusedMeanVarianceNormalization|in input:T out output:T|1+|T = tensor(float), tensor(float16)| |DmlFusedSum|in data_0:T out sum:T|1+|T = tensor(float), tensor(float16)| | | | |