Supported Operators and Data Types#

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

Execution Providers#

  • CPUExecutionProvider

  • CUDAExecutionProvider

  • DmlExecutionProvider


Operators implemented by CPUExecutionProvider#

Op Name

Parameters

OpSet Version

Types Supported

Operator Domain: ai.onnx

Abs

in X:T
out Y:T

13+

T = tensor(double), tensor(float), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[6, 12]

T = tensor(double), tensor(float), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

Acos

in input:T
out output:T

7+

T = tensor(float)

Acosh

in input:T
out output:T

9+

T = tensor(float)

Add

in A:T
in B:T
out C:T

14+

T = tensor(double), tensor(float), tensor(int32), tensor(int64)

13

T = tensor(double), tensor(float), tensor(int32), tensor(int64)

[7, 12]

T = tensor(double), tensor(float), tensor(int32), tensor(int64)

Affine

in X:T
out Y:T

1+

T = tensor(float)

And

in A:T
in B:T
out C:T1

7+

T = tensor(bool)
T1 = tensor(bool)

ArgMax

in data:T
out reduced:tensor(int64)

13+

T = tensor(double), tensor(float), tensor(int32), tensor(int8), tensor(uint8)

[11, 12]

T = tensor(double), tensor(float), tensor(int32), tensor(int8), tensor(uint8)

[1, 10]

T = tensor(float), tensor(int32), tensor(int8), tensor(uint8)

ArgMin

in data:T
out reduced:tensor(int64)

13+

T = tensor(double), tensor(float), tensor(int32)

[11, 12]

T = tensor(double), tensor(float), tensor(int32)

[1, 10]

T = tensor(float), tensor(int32)

Asin

in input:T
out output:T

7+

T = tensor(float)

Asinh

in input:T
out output:T

9+

T = tensor(float)

Atan

in input:T
out output:T

7+

T = tensor(float)

Atanh

in input:T
out output:T

9+

T = tensor(float)

AveragePool

in X:T
out Y:T

11+

T = tensor(float)

10

T = tensor(float)

[7, 9]

T = tensor(float)

BatchNormalization

in X:T
in scale:T
in B:T
in input_mean:U
in input_var:U
out Y:T
out running_mean:U
out running_var:U

or

in X:T
in scale:T
in B:T
in mean:T
in var:T
out Y:T
out mean:T
out var:T
out saved_mean:T
out saved_var:T

or

in X:T
in scale:T1
in B:T1
in input_mean:T2
in input_var:T2
out Y:T
out running_mean:T2
out running_var:T2

15+

T = tensor(double), tensor(float)
T1 = tensor(double), tensor(float)
T2 = tensor(double), tensor(float)

14

T = tensor(double), tensor(float)
U = tensor(double), tensor(float)

[9, 13]

T = tensor(double), tensor(float)

[7, 8]

T = tensor(double), tensor(float)

BitShift

in X:T
in Y:T
out Z:T

11+

T = tensor(uint32), tensor(uint64), tensor(uint8)

BlackmanWindow

in size:T1
out output:T2

17+

T1 = tensor(int32), tensor(int64)
T2 = tensor(double), tensor(float), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

Cast

in input:T1
out output:T2

13+

T1 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
T2 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[6, 12]

T1 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
T2 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

Ceil

in X:T
out Y:T

13+

T = tensor(float)

[6, 12]

T = tensor(float)

Celu

in X:T
out Y:T

12+

T = tensor(float)

Clip

in input:T
in min:T
in max:T
out output:T

or

in input:T
out output:T

13+

T = tensor(double), tensor(float), tensor(int64), tensor(int8), tensor(uint64), tensor(uint8)

12

T = tensor(double), tensor(float), tensor(int64), tensor(int8), tensor(uint64), tensor(uint8)

11

T = tensor(float)

[6, 10]

T = tensor(float)

Compress

in input:T
in condition:T1
out output:T

11+

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
T1 = tensor(bool)

[9, 10]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
T1 = tensor(bool)

Concat

in inputs:T
out concat_result:T

13+

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[11, 12]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[4, 10]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

ConcatFromSequence

in input_sequence:S
out concat_result:T

11+

S = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(string)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8))

ConstantOfShape

in input:T1
out output:T2

9+

T1 = tensor(int64)
T2 = tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

Conv

in X:T
in W:T
in B:T
out Y:T

11+

T = tensor(float)

[1, 10]

T = tensor(float)

ConvInteger

in x:T1
in w:T2
in x_zero_point:T1
in w_zero_point:T2
out y:T3

10+

T1 = tensor(uint8)
T2 = tensor(uint8)
T3 = tensor(int32)

ConvTranspose

in X:T
in W:T
in B:T
out Y:T

11+

T = tensor(float)

[1, 10]

T = tensor(float)

Cos

in input:T
out output:T

7+

T = tensor(float)

Cosh

in input:T
out output:T

9+

T = tensor(float)

Crop

in input:T
out output:T

1+

T = tensor(float)

CumSum

in x:T
in axis:T2
out y:T

14+

T = tensor(double), tensor(float), tensor(int32), tensor(int64)
T2 = tensor(int32), tensor(int64)

[11, 13]

T = tensor(double), tensor(float), tensor(int32), tensor(int64)
T2 = tensor(int32), tensor(int64)

DFT

in input:T1
in dft_length:T2
out output:T1

17+

T1 = tensor(double), tensor(float)
T2 = tensor(int32), tensor(int64)

DepthToSpace

in input:T
out output:T

13+

T = tensor(double), tensor(float)

[11, 12]

T = tensor(double), tensor(float)

[1, 10]

T = tensor(double), tensor(float)

DequantizeLinear

in x:T
in x_scale:tensor(float)
in x_zero_point:T
out y:tensor(float)

13+

T = tensor(int32), tensor(int8), tensor(uint8)

[10, 12]

T = tensor(int32), tensor(int8), tensor(uint8)

Det

in X:T
out Y:T

11+

T = tensor(float)

Div

in A:T
in B:T
out C:T

14+

T = tensor(double), tensor(float), tensor(int32), tensor(int64)

13

T = tensor(double), tensor(float), tensor(int32), tensor(int64)

[7, 12]

T = tensor(double), tensor(float), tensor(int32), tensor(int64)

Dropout

in data:T
in ratio:T1
in training_mode:T2
out output:T
out mask:T2

or

in data:T
out output:T
out mask:T

or

in data:T
out output:T
out mask:T1

13+

T = tensor(double), tensor(float)
T1 = tensor(double), tensor(float)
T2 = tensor(bool)

12

T = tensor(double), tensor(float)
T1 = tensor(double), tensor(float)
T2 = tensor(bool)

[10, 11]

T = tensor(double), tensor(float), tensor(float16)
T1 = tensor(bool)

[7, 9]

T = tensor(double), tensor(float), tensor(float16)

DynamicQuantizeLinear

in x:T1
out y:T2
out y_scale:tensor(float)
out y_zero_point:T2

11+

T2 = tensor(uint8)

DynamicSlice

in data:T
in starts:Tind
in ends:Tind
in axes:Tind
out output:T

1+

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
Tind = tensor(int32), tensor(int64)

Einsum

in Inputs:T
out Output:T

12+

T = tensor(double), tensor(float), tensor(int32), tensor(int64)

Elu

in X:T
out Y:T

6+

T = tensor(float)

Equal

in A:T
in B:T
out C:T1

13+

T = tensor(bool), tensor(double), tensor(float), tensor(int32), tensor(int64)
T1 = tensor(bool)

[11, 12]

T = tensor(bool), tensor(double), tensor(float), tensor(int32), tensor(int64)
T1 = tensor(bool)

[7, 10]

T = tensor(bool), tensor(double), tensor(float), tensor(int32), tensor(int64)
T1 = tensor(bool)

Erf

in input:T
out output:T

13+

T = tensor(float)

[9, 12]

T = tensor(float)

Exp

in input:T
out output:T

13+

T = tensor(double), tensor(float)

[6, 12]

T = tensor(double), tensor(float)

Expand

in input:T
in shape:tensor(int64)
out output:T

13+

T = tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[8, 12]

T = tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

EyeLike

in input:T1
out output:T2

9+

T1 = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(uint64)
T2 = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(uint64)

Flatten

in input:T
out output:T

13+

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[11, 12]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[9, 10]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[1, 8]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

Floor

in X:T
out Y:T

13+

T = tensor(float)

[6, 12]

T = tensor(float)

GRU

in X:T
in W:T
in R:T
in B:T
in sequence_lens:T1
in initial_h:T
out Y:T
out Y_h:T

14+

T = tensor(double), tensor(float)
T1 = tensor(int32)

[7, 13]

T = tensor(double), tensor(float)
T1 = tensor(int32)

Gather

in data:T
in indices:Tind
out output:T

13+

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
Tind = tensor(int32), tensor(int64)

[11, 12]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
Tind = tensor(int32), tensor(int64)

[1, 10]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
Tind = tensor(int32), tensor(int64)

GatherElements

in data:T
in indices:Tind
out output:T

13+

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
Tind = tensor(int32), tensor(int64)

[11, 12]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
Tind = tensor(int32), tensor(int64)

GatherND

in data:T
in indices:tensor(int64)
out output:T

13+

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
indices = tensor(int64)

12

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
indices = tensor(int64)

11

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
indices = tensor(int64)

Gemm

in A:T
in B:T
in C:T
out Y:T

13+

T = tensor(double), tensor(float)

[11, 12]

T = tensor(double), tensor(float)

[9, 10]

T = tensor(double), tensor(float)

[7, 8]

T = tensor(double), tensor(float)

GlobalAveragePool

in X:T
out Y:T

1+

T = tensor(float)

GlobalLpPool

in X:T
out Y:T

2+

T = tensor(float)

GlobalMaxPool

in X:T
out Y:T

1+

T = tensor(float)

Greater

in A:T
in B:T
out C:T1

13+

T = tensor(double), tensor(float), tensor(int32), tensor(int64)
T1 = tensor(bool)

[9, 12]

T = tensor(double), tensor(float), tensor(int32), tensor(int64)
T1 = tensor(bool)

[7, 8]

T = tensor(double), tensor(float)
T1 = tensor(bool)

GreaterOrEqual

in A:T
in B:T
out C:T1

16+

T = tensor(double), tensor(float), tensor(int32), tensor(int64)
T1 = tensor(bool)

[12, 15]

T = tensor(double), tensor(float), tensor(int32), tensor(int64)
T1 = tensor(bool)

GridSample

in X:T1
in grid:T1
out Y:T2

16+

T1 = tensor(float)
T2 = tensor(float)

HammingWindow

in size:T1
out output:T2

17+

T1 = tensor(int32), tensor(int64)
T2 = tensor(double), tensor(float), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

HannWindow

in size:T1
out output:T2

17+

T1 = tensor(int32), tensor(int64)
T2 = tensor(double), tensor(float), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

HardSigmoid

in X:T
out Y:T

6+

T = tensor(float)

Hardmax

in input:T
out output:T

13+

T = tensor(float)

[11, 12]

T = tensor(float)

[1, 10]

T = tensor(float)

Identity

in input:T
out output:T

or

in input:V
out output:V

16+

V = optional(seq(tensor(bfloat16))), optional(seq(tensor(bool))), optional(seq(tensor(double))), optional(seq(tensor(float))), optional(seq(tensor(float16))), optional(seq(tensor(int16))), optional(seq(tensor(int32))), optional(seq(tensor(int64))), optional(seq(tensor(int8))), optional(seq(tensor(string))), optional(seq(tensor(uint16))), optional(seq(tensor(uint32))), optional(seq(tensor(uint64))), optional(seq(tensor(uint8))), optional(tensor(bfloat16)), optional(tensor(bool)), optional(tensor(double)), optional(tensor(float)), optional(tensor(float16)), optional(tensor(int16)), optional(tensor(int32)), optional(tensor(int64)), optional(tensor(int8)), optional(tensor(string)), optional(tensor(uint16)), optional(tensor(uint32)), optional(tensor(uint64)), optional(tensor(uint8)), seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(string)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8)), tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[14, 15]

V = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(string)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8)), tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

13

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[1, 12]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

If

in cond:B
out outputs:V

16+

B = tensor(bool)
V = optional(seq(tensor(bfloat16))), optional(seq(tensor(bool))), optional(seq(tensor(double))), optional(seq(tensor(float))), optional(seq(tensor(float16))), optional(seq(tensor(int16))), optional(seq(tensor(int32))), optional(seq(tensor(int64))), optional(seq(tensor(int8))), optional(seq(tensor(string))), optional(seq(tensor(uint16))), optional(seq(tensor(uint32))), optional(seq(tensor(uint64))), optional(seq(tensor(uint8))), optional(tensor(bfloat16)), optional(tensor(bool)), optional(tensor(double)), optional(tensor(float)), optional(tensor(float16)), optional(tensor(int16)), optional(tensor(int32)), optional(tensor(int64)), optional(tensor(int8)), optional(tensor(string)), optional(tensor(uint16)), optional(tensor(uint32)), optional(tensor(uint64)), optional(tensor(uint8)), seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(string)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8)), tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[13, 15]

B = tensor(bool)
V = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(string)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8)), tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[11, 12]

B = tensor(bool)
V = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[1, 10]

B = tensor(bool)
V = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

ImageScaler

in input:T
out output:T

1+

T = tensor(float)

InstanceNormalization

in input:T
in scale:T
in B:T
out output:T

6+

T = tensor(float)

IsInf

in X:T1
out Y:T2

10+

T1 = tensor(double), tensor(float)
T2 = tensor(bool)

IsNaN

in X:T1
out Y:T2

13+

T1 = tensor(float), tensor(float16)
T2 = tensor(bool)

[9, 12]

T1 = tensor(float), tensor(float16)
T2 = tensor(bool)

LRN

in X:T
out Y:T

13+

T = tensor(float)

[1, 12]

T = tensor(float)

LSTM

in X:T
in W:T
in R:T
in B:T
in sequence_lens:T1
in initial_h:T
in initial_c:T
in P:T
out Y:T
out Y_h:T
out Y_c:T

14+

T = tensor(double), tensor(float)
T1 = tensor(int32)

[7, 13]

T = tensor(double), tensor(float)
T1 = tensor(int32)

LayerNormalization

in X:T
in Scale:T
in B:T
out Y:T
out Mean:U
out InvStdDev:U

or

in X:T
in Scale:V
in B:V
out Y:V
out Mean:U
out InvStdDev:U

17+

T = tensor(double), tensor(float)
U = tensor(float)

[1, 16]

T = tensor(double), tensor(float)
U = tensor(double), tensor(float)
V = tensor(double), tensor(float)

LeakyRelu

in X:T
out Y:T

16+

T = tensor(float)

[6, 15]

T = tensor(float)

Less

in A:T
in B:T
out C:T1

13+

T = tensor(double), tensor(float), tensor(int32), tensor(int64)
T1 = tensor(bool)

[9, 12]

T = tensor(double), tensor(float), tensor(int32), tensor(int64)
T1 = tensor(bool)

[7, 8]

T = tensor(double), tensor(float)
T1 = tensor(bool)

LessOrEqual

in A:T
in B:T
out C:T1

16+

T = tensor(double), tensor(float), tensor(int32), tensor(int64)
T1 = tensor(bool)

[12, 15]

T = tensor(double), tensor(float), tensor(int32), tensor(int64)
T1 = tensor(bool)

Log

in input:T
out output:T

13+

T = tensor(double), tensor(float)

[6, 12]

T = tensor(double), tensor(float)

LogSoftmax

in input:T
out output:T

13+

T = tensor(double), tensor(float)

[11, 12]

T = tensor(double), tensor(float)

[1, 10]

T = tensor(double), tensor(float)

Loop

in M:I
in cond:B
in v_initial:V
out v_final_and_scan_outputs:V

16+

B = tensor(bool)
I = tensor(int64)
V = optional(seq(tensor(bfloat16))), optional(seq(tensor(bool))), optional(seq(tensor(double))), optional(seq(tensor(float))), optional(seq(tensor(float16))), optional(seq(tensor(int16))), optional(seq(tensor(int32))), optional(seq(tensor(int64))), optional(seq(tensor(int8))), optional(seq(tensor(string))), optional(seq(tensor(uint16))), optional(seq(tensor(uint32))), optional(seq(tensor(uint64))), optional(seq(tensor(uint8))), optional(tensor(bfloat16)), optional(tensor(bool)), optional(tensor(double)), optional(tensor(float)), optional(tensor(float16)), optional(tensor(int16)), optional(tensor(int32)), optional(tensor(int64)), optional(tensor(int8)), optional(tensor(string)), optional(tensor(uint16)), optional(tensor(uint32)), optional(tensor(uint64)), optional(tensor(uint8)), seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(string)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8)), tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[13, 15]

B = tensor(bool)
I = tensor(int64)
V = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(string)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8)), tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[11, 12]

B = tensor(bool)
I = tensor(int64)
V = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[1, 10]

B = tensor(bool)
I = tensor(int64)
V = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

LpNormalization

in input:T
out output:T

1+

T = tensor(double), tensor(float)

LpPool

in X:T
out Y:T

11+

T = tensor(float)

[2, 10]

T = tensor(float)

MatMul

in A:T
in B:T
out Y:T

13+

T = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)

[9, 12]

T = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)

[1, 8]

T = tensor(double), tensor(float)

MatMulInteger

in A:T1
in B:T2
in a_zero_point:T1
in b_zero_point:T2
out Y:T3

10+

T1 = tensor(int8), tensor(uint8)
T2 = tensor(int8), tensor(uint8)
T3 = tensor(int32)

Max

in data_0:T
out max:T

13+

T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)

12

T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)

[8, 11]

T = tensor(double), tensor(float)

[6, 7]

T = tensor(float)

MaxPool

in X:T
out Y:T

or

in X:T
out Y:T
out Indices:I

12+

I = tensor(int64)
T = tensor(double), tensor(float), tensor(int8), tensor(uint8)

[8, 11]

I = tensor(int64)
T = tensor(double), tensor(float)

[1, 7]

T = tensor(float)

MaxRoiPool

in X:T
in rois:T
out Y:T

1+

T = tensor(float)

MaxUnpool

in X:T1
in I:T2
in output_shape:T2
out output:T1

11+

T1 = tensor(float)
T2 = tensor(int64)

[9, 10]

T1 = tensor(float)
T2 = tensor(int64)

Mean

in data_0:T
out mean:T

13+

T = tensor(float)

[8, 12]

T = tensor(float)

[6, 7]

T = tensor(float)

MeanVarianceNormalization

in X:T
out Y:T

or

in input:T
out output:T

13+

T = tensor(float)

[9, 12]

T = tensor(float)

[1, 8]

T = tensor(float)

MelWeightMatrix

in num_mel_bins:T1
in dft_length:T1
in sample_rate:T1
in lower_edge_hertz:T2
in upper_edge_hertz:T2
out output:T3

17+

T1 = tensor(int32), tensor(int64)
T2 = tensor(float)
T3 = tensor(double), tensor(float), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

Min

in data_0:T
out min:T

13+

T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)

12

T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)

[8, 11]

T = tensor(double), tensor(float)

[6, 7]

T = tensor(float)

Mod

in A:T
in B:T
out C:T

13+

T = tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[10, 12]

T = tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

Mul

in A:T
in B:T
out C:T

14+

T = tensor(double), tensor(float), tensor(int32), tensor(int64)

13

T = tensor(double), tensor(float), tensor(int32), tensor(int64)

[7, 12]

T = tensor(double), tensor(float), tensor(int32), tensor(int64)

Multinomial

in input:T1
out output:T2

7+

T1 = tensor(float)
T2 = tensor(int32), tensor(int64)

Neg

in X:T
out Y:T

13+

T = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(int8)

[6, 12]

T = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(int8)

NonZero

in X:T
out Y:tensor(int64)

13+

T = tensor(bool), tensor(float), tensor(int32), tensor(int64), tensor(uint8)

[9, 12]

T = tensor(bool), tensor(float), tensor(int32), tensor(int64), tensor(uint8)

Not

in X:T
out Y:T

1+

T = tensor(bool)

OneHot

in indices:T1
in depth:T2
in values:T3
out output:T3

11+

T1 = tensor(float), tensor(int32), tensor(int64)
T2 = tensor(float), tensor(int32), tensor(int64)
T3 = tensor(float), tensor(int32), tensor(int64), tensor(string)

[9, 10]

T1 = tensor(float), tensor(int32), tensor(int64)
T2 = tensor(float), tensor(int32), tensor(int64)
T3 = tensor(float), tensor(int32), tensor(int64), tensor(string)

Optional

in input:V
out output:O

15+

O = optional(seq(tensor(bfloat16))), optional(seq(tensor(bool))), optional(seq(tensor(double))), optional(seq(tensor(float))), optional(seq(tensor(float16))), optional(seq(tensor(int16))), optional(seq(tensor(int32))), optional(seq(tensor(int64))), optional(seq(tensor(int8))), optional(seq(tensor(string))), optional(seq(tensor(uint16))), optional(seq(tensor(uint32))), optional(seq(tensor(uint64))), optional(seq(tensor(uint8))), optional(tensor(bfloat16)), optional(tensor(bool)), optional(tensor(double)), optional(tensor(float)), optional(tensor(float16)), optional(tensor(int16)), optional(tensor(int32)), optional(tensor(int64)), optional(tensor(int8)), optional(tensor(string)), optional(tensor(uint16)), optional(tensor(uint32)), optional(tensor(uint64)), optional(tensor(uint8))
V = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(string)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8)), tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

OptionalGetElement

in input:O
out output:V

15+

O = optional(seq(tensor(bfloat16))), optional(seq(tensor(bool))), optional(seq(tensor(double))), optional(seq(tensor(float))), optional(seq(tensor(float16))), optional(seq(tensor(int16))), optional(seq(tensor(int32))), optional(seq(tensor(int64))), optional(seq(tensor(int8))), optional(seq(tensor(string))), optional(seq(tensor(uint16))), optional(seq(tensor(uint32))), optional(seq(tensor(uint64))), optional(seq(tensor(uint8))), optional(tensor(bfloat16)), optional(tensor(bool)), optional(tensor(double)), optional(tensor(float)), optional(tensor(float16)), optional(tensor(int16)), optional(tensor(int32)), optional(tensor(int64)), optional(tensor(int8)), optional(tensor(string)), optional(tensor(uint16)), optional(tensor(uint32)), optional(tensor(uint64)), optional(tensor(uint8))
V = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(string)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8)), tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

OptionalHasElement

in input:O
out output:B

15+

B = tensor(bool)
O = optional(seq(tensor(bfloat16))), optional(seq(tensor(bool))), optional(seq(tensor(double))), optional(seq(tensor(float))), optional(seq(tensor(float16))), optional(seq(tensor(int16))), optional(seq(tensor(int32))), optional(seq(tensor(int64))), optional(seq(tensor(int8))), optional(seq(tensor(string))), optional(seq(tensor(uint16))), optional(seq(tensor(uint32))), optional(seq(tensor(uint64))), optional(seq(tensor(uint8))), optional(tensor(bfloat16)), optional(tensor(bool)), optional(tensor(double)), optional(tensor(float)), optional(tensor(float16)), optional(tensor(int16)), optional(tensor(int32)), optional(tensor(int64)), optional(tensor(int8)), optional(tensor(string)), optional(tensor(uint16)), optional(tensor(uint32)), optional(tensor(uint64)), optional(tensor(uint8))

Or

in A:T
in B:T
out C:T1

7+

T = tensor(bool)
T1 = tensor(bool)

PRelu

in X:T
in slope:T
out Y:T

16+

T = tensor(float)

[9, 15]

T = tensor(float)

[7, 8]

T = tensor(float)

Pad

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

or

in data:T
out output:T

13+

T = tensor(bool), tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(int8), tensor(uint32), tensor(uint64), tensor(uint8)

[11, 12]

T = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(int8), tensor(uint32), tensor(uint64), tensor(uint8)

[2, 10]

T = tensor(double), tensor(float)

ParametricSoftplus

in X:T
out Y:T

1+

T = tensor(float)

Pow

in X:T
in Y:T
out Z:T

or

in X:T
in Y:T1
out Z:T

15+

T = tensor(double), tensor(float), tensor(int32), tensor(int64)
T1 = tensor(double), tensor(float), tensor(int32), tensor(int64)

[13, 14]

T = tensor(double), tensor(float), tensor(int32), tensor(int64)
T1 = tensor(double), tensor(float), tensor(int32), tensor(int64)

12

T = tensor(double), tensor(float), tensor(int32), tensor(int64)
T1 = tensor(double), tensor(float), tensor(int32), tensor(int64)

[7, 11]

T = tensor(double), tensor(float)

QLinearConv

in x:T1
in x_scale:tensor(float)
in x_zero_point:T1
in w:T2
in w_scale:tensor(float)
in w_zero_point:T2
in y_scale:tensor(float)
in y_zero_point:T3
in B:T4
out y:T3

10+

T1 = tensor(int8), tensor(uint8)
T2 = tensor(int8), tensor(uint8)
T3 = tensor(int8), tensor(uint8)
T4 = tensor(int32)

QLinearMatMul

in a:T1
in a_scale:tensor(float)
in a_zero_point:T1
in b:T2
in b_scale:tensor(float)
in b_zero_point:T2
in y_scale:tensor(float)
in y_zero_point:T3
out y:T3

10+

T1 = tensor(int8), tensor(uint8)
T2 = tensor(int8), tensor(uint8)
T3 = tensor(int8), tensor(uint8)

QuantizeLinear

in x:T1
in y_scale:tensor(float)
in y_zero_point:T2
out y:T2

13+

T1 = tensor(float)
T2 = tensor(int8), tensor(uint8)

[10, 12]

T1 = tensor(float)
T2 = tensor(int8), tensor(uint8)

RNN

in X:T
in W:T
in R:T
in B:T
in sequence_lens:T1
in initial_h:T
out Y:T
out Y_h:T

14+

T = tensor(float)
T1 = tensor(int32)

[7, 13]

T = tensor(float)
T1 = tensor(int32)

RandomNormal

out output:T

1+

T = tensor(double), tensor(float)

RandomNormalLike

in input:T1
out output:T2

1+

T1 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
T2 = tensor(double), tensor(float)

RandomUniform

out output:T

1+

T = tensor(double), tensor(float)

RandomUniformLike

in input:T1
out output:T2

1+

T1 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
T2 = tensor(double), tensor(float)

Range

in start:T
in limit:T
in delta:T
out output:T

11+

T = tensor(double), tensor(float), tensor(int16), tensor(int32), tensor(int64)

Reciprocal

in X:T
out Y:T

13+

T = tensor(double), tensor(float)

[6, 12]

T = tensor(double), tensor(float)

ReduceL1

in data:T
out reduced:T

13+

T = tensor(float), tensor(int32)

[11, 12]

T = tensor(float), tensor(int32)

[1, 10]

T = tensor(float), tensor(int32)

ReduceL2

in data:T
out reduced:T

13+

T = tensor(float), tensor(int32)

[11, 12]

T = tensor(float), tensor(int32)

[1, 10]

T = tensor(float), tensor(int32)

ReduceLogSum

in data:T
out reduced:T

13+

T = tensor(float), tensor(int32)

[11, 12]

T = tensor(float), tensor(int32)

[1, 10]

T = tensor(float), tensor(int32)

ReduceLogSumExp

in data:T
out reduced:T

13+

T = tensor(double), tensor(float), tensor(int32)

[11, 12]

T = tensor(double), tensor(float), tensor(int32)

[1, 10]

T = tensor(double), tensor(float), tensor(int32)

ReduceMax

in data:T
out reduced:T

13+

T = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(int8), tensor(uint8)

12

T = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(int8), tensor(uint8)

11

T = tensor(double), tensor(float), tensor(int32), tensor(int64)

[1, 10]

T = tensor(double), tensor(float), tensor(int32), tensor(int64)

ReduceMean

in data:T
out reduced:T

13+

T = tensor(double), tensor(float), tensor(int32)

[11, 12]

T = tensor(double), tensor(float), tensor(int32)

[1, 10]

T = tensor(double), tensor(float), tensor(int32)

ReduceMin

in data:T
out reduced:T

13+

T = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(int8), tensor(uint8)

12

T = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(int8), tensor(uint8)

11

T = tensor(double), tensor(float), tensor(int32), tensor(int64)

[1, 10]

T = tensor(double), tensor(float), tensor(int32), tensor(int64)

ReduceProd

in data:T
out reduced:T

13+

T = tensor(float), tensor(int32), tensor(int64)

[11, 12]

T = tensor(float), tensor(int32), tensor(int64)

[1, 10]

T = tensor(float), tensor(int32), tensor(int64)

ReduceSum

in data:T
in axes:tensor(int64)
out reduced:T

or

in data:T
out reduced:T

13+

T = tensor(double), tensor(float), tensor(int32), tensor(int64)

[11, 12]

T = tensor(double), tensor(float), tensor(int32), tensor(int64)

[1, 10]

T = tensor(double), tensor(float), tensor(int32), tensor(int64)

ReduceSumSquare

in data:T
out reduced:T

13+

T = tensor(double), tensor(float), tensor(int32)

[11, 12]

T = tensor(double), tensor(float), tensor(int32)

[1, 10]

T = tensor(double), tensor(float), tensor(int32)

Relu

in X:T
out Y:T

14+

T = tensor(double), tensor(float), tensor(int32), tensor(int8)

13

T = tensor(double), tensor(float)

[6, 12]

T = tensor(double), tensor(float)

Reshape

in data:T
in shape:tensor(int64)
out reshaped:T

or

in data:T
out reshaped:T

14+

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
shape = tensor(int64)

13

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
shape = tensor(int64)

[5, 12]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
shape = tensor(int64)

[1, 4]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

Resize

in X:T
in scales:tensor(float)
out Y:T

or

in X:T1
in roi:T2
in scales:tensor(float)
in sizes:tensor(int64)
out Y:T1

13+

T1 = tensor(float), tensor(int32), tensor(int8), tensor(uint8)

[11, 12]

T1 = tensor(float), tensor(int32), tensor(int8), tensor(uint8)

10

T = tensor(float), tensor(int32), tensor(int8), tensor(uint8)

ReverseSequence

in input:T
in sequence_lens:tensor(int64)
out Y:T

10+

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

RoiAlign

in X:T1
in rois:T1
in batch_indices:T2
out Y:T1

16+

T1 = tensor(double), tensor(float)
T2 = tensor(int64)

[10, 15]

T1 = tensor(double), tensor(float)
T2 = tensor(int64)

Round

in X:T
out Y:T

11+

T = tensor(double), tensor(float), tensor(float16)

STFT

in signal:T1
in frame_step:T2
in window:T1
in frame_length:T2
out output:T1

17+

T1 = tensor(double), tensor(float)
T2 = tensor(int32), tensor(int64)

Scale

in input:T
out output:T

1+

T = tensor(float)

ScaledTanh

in input:T
out output:T

1+

T = tensor(float)

Scan

in initial_state_and_scan_inputs:V
out final_state_and_scan_outputs:V

or

in sequence_lens:I
in initial_state_and_scan_inputs:V
out final_state_and_scan_outputs:V

16+

V = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[11, 15]

V = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[9, 10]

V = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

8

I = tensor(int64)
V = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

Scatter

in data:T
in indices:Tind
in updates:T
out output:T

[9, 10]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
Tind = tensor(int32), tensor(int64)

ScatterElements

in data:T
in indices:Tind
in updates:T
out output:T

16+

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
Tind = tensor(int32), tensor(int64)

[13, 15]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
Tind = tensor(int32), tensor(int64)

[11, 12]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
Tind = tensor(int32), tensor(int64)

ScatterND

in data:T
in indices:tensor(int64)
in updates:T
out output:T

16+

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[13, 15]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[11, 12]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

Selu

in X:T
out Y:T

6+

T = tensor(float)

SequenceAt

in input_sequence:S
in position:I
out tensor:T

11+

I = tensor(int32), tensor(int64)
S = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(string)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8))
T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

SequenceConstruct

in inputs:T
out output_sequence:S

11+

S = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(string)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8))
T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

SequenceEmpty

out output:S

11+

S = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(string)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8))

SequenceErase

in input_sequence:S
in position:I
out output_sequence:S

11+

I = tensor(int32), tensor(int64)
S = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(string)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8))

SequenceInsert

in input_sequence:S
in tensor:T
in position:I
out output_sequence:S

11+

I = tensor(int32), tensor(int64)
S = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(string)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8))

SequenceLength

in input_sequence:S
out length:I

11+

I = tensor(int64)
S = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(string)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8))

Shape

in data:T
out shape:T1

15+

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
T1 = tensor(int64)

[13, 14]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
T1 = tensor(int64)

[1, 12]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
T1 = tensor(int64)

Shrink

in input:T
out output:T

9+

T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

Sigmoid

in X:T
out Y:T

13+

T = tensor(double), tensor(float)

[6, 12]

T = tensor(double), tensor(float)

Sign

in input:T
out output:T

13+

T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[9, 12]

T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

SimplifiedLayerNormalization

in X:T
in scale:V
out Y:V
out inv_std_var:U

1+

T = tensor(double), tensor(float)
U = tensor(double), tensor(float)
V = tensor(double), tensor(float)

Sin

in input:T
out output:T

7+

T = tensor(double), tensor(float)

Sinh

in input:T
out output:T

9+

T = tensor(float)

Size

in data:T
out size:T1

13+

T = tensor(bool), tensor(double), tensor(float), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
T1 = tensor(int64)

[1, 12]

T = tensor(bool), tensor(double), tensor(float), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
T1 = tensor(int64)

Slice

in data:T
in starts:Tind
in ends:Tind
in axes:Tind
in steps:Tind
out output:T

or

in data:T
out output:T

13+

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
Tind = tensor(int32), tensor(int64)

[11, 12]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
Tind = tensor(int32), tensor(int64)

10

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
Tind = tensor(int32), tensor(int64)

[1, 9]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

Softmax

in input:T
out output:T

13+

T = tensor(double), tensor(float)

[11, 12]

T = tensor(double), tensor(float)

[1, 10]

T = tensor(double), tensor(float)

Softplus

in X:T
out Y:T

1+

T = tensor(float)

Softsign

in input:T
out output:T

1+

T = tensor(float)

SpaceToDepth

in input:T
out output:T

13+

T = tensor(double), tensor(float)

[1, 12]

T = tensor(double), tensor(float)

Split

in input:T
in split:T
out outputs…:T

or

in input:T
in split:tensor(int64)
out outputs:T

or

in input:T
out outputs:T

13+

T = tensor(float), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint8)

[11, 12]

T = tensor(float), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint8)

[2, 10]

T = tensor(float), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint8)

SplitToSequence

in input:T
in split:I
out output_sequence:S

11+

I = tensor(int32), tensor(int64)
S = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(string)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8))
T = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(string)

Sqrt

in X:T
out Y:T

13+

T = tensor(double), tensor(float)

[6, 12]

T = tensor(double), tensor(float)

Squeeze

in data:T
in axes:tensor(int64)
out squeezed:T

or

in data:T
out squeezed:T

13+

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[11, 12]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[1, 10]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

StringNormalizer

in X:tensor(string)
out Y:tensor(string)

10+

X = tensor(string)

Sub

in A:T
in B:T
out C:T

14+

T = tensor(double), tensor(float), tensor(int32), tensor(int64)

13

T = tensor(double), tensor(float), tensor(int32), tensor(int64)

[7, 12]

T = tensor(double), tensor(float), tensor(int32), tensor(int64)

Sum

in data_0:T
out sum:T

13+

T = tensor(double), tensor(float)

[8, 12]

T = tensor(double), tensor(float)

[6, 7]

T = tensor(double), tensor(float)

Tan

in input:T
out output:T

7+

T = tensor(float)

Tanh

in input:T
out output:T

13+

T = tensor(double), tensor(float)

[6, 12]

T = tensor(double), tensor(float)

TfIdfVectorizer

in X:T
out Y:T1

9+

T = tensor(int32), tensor(int64), tensor(string)
T1 = tensor(float)

ThresholdedRelu

in X:T
out Y:T

10+

T = tensor(float)

[1, 9]

T = tensor(float)

Tile

in input:T
in repeats:T1
out output:T

or

in input:T
in tiles:T
in axis:T
out output:T

13+

T = tensor(bool), tensor(double), tensor(float), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
T1 = tensor(int64)

[6, 12]

T = tensor(bool), tensor(double), tensor(float), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
T1 = tensor(int64)

TopK

in X:T
in K:tensor(int64)
out Values:T
out Indices:I

or

in X:T
out Values:T
out Indices:I

11+

I = tensor(int64)
T = tensor(double), tensor(float), tensor(int32), tensor(int64)

10

I = tensor(int64)
T = tensor(double), tensor(float)

[1, 9]

I = tensor(int64)
T = tensor(double), tensor(float)

Transpose

in data:T
out transposed:T

13+

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[1, 12]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

Trilu

in input:T
in k:tensor(int64)
out output:T

14+

T = tensor(double), tensor(float), tensor(int64)

Unique

in X:T
out Y:T
out indices:tensor(int64)
out inverse_indices:tensor(int64)
out counts:tensor(int64)

11+

T = tensor(float), tensor(int64), tensor(int8), tensor(string)

Unsqueeze

in data:T
in axes:tensor(int64)
out expanded:T

or

in data:T
out expanded:T

13+

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[11, 12]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[1, 10]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

Upsample

in X:T
in scales:tensor(float)
out Y:T

or

in X:T
out Y:T

9

T = tensor(float), tensor(int32), tensor(int8), tensor(uint8)

[7, 8]

T = tensor(float), tensor(int32), tensor(int8), tensor(uint8)

Where

in condition:B
in X:T
in Y:T
out output:T

16+

T = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(string), tensor(uint8)

[9, 15]

T = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(string), tensor(uint8)

Xor

in A:T
in B:T
out C:T1

7+

T = tensor(bool)
T1 = tensor(bool)

Operator Domain: ai.onnx.ml

ArrayFeatureExtractor

in X:T
in Y:tensor(int64)
out Z:T

1+

T = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(string)

Binarizer

in X:T
out Y:T

1+

T = tensor(float)

CastMap

in X:T1
out Y:T2

1+

T1 = map(int64,tensor(float)), map(int64,tensor(string))
T2 = tensor(float), tensor(int64), tensor(string)

CategoryMapper

in X:T1
out Y:T2

1+

T1 = tensor(int64), tensor(string)
T2 = tensor(int64), tensor(string)

DictVectorizer

in X:T1
out Y:T2

1+

T1 = map(int64,tensor(double)), map(int64,tensor(float)), map(int64,tensor(string)), map(string,tensor(double)), map(string,tensor(float)), map(string,tensor(int64))
T2 = tensor(double), tensor(float), tensor(int64), tensor(string)

FeatureVectorizer

in X:T1
out Y:tensor(float)

1+

T1 = tensor(double), tensor(float), tensor(int32), tensor(int64)

Imputer

in X:T
out Y:T

1+

T = tensor(float), tensor(int64)

LabelEncoder

in X:T1
out Y:T2

2+

T1 = tensor(float), tensor(int64), tensor(string)
T2 = tensor(float), tensor(int64), tensor(string)

1

T1 = tensor(int64), tensor(string)
T2 = tensor(int64), tensor(string)

LinearClassifier

in X:T1
out Y:T2
out Z:tensor(float)

1+

T1 = tensor(double), tensor(float), tensor(int32), tensor(int64)
T2 = tensor(int64), tensor(string)

LinearRegressor

in X:T
out Y:tensor(float)

1+

T = tensor(float)

Normalizer

in X:T
out Y:tensor(float)

1+

T = tensor(double), tensor(float), tensor(int32), tensor(int64)

OneHotEncoder

in X:T
out Y:tensor(float)

1+

T = tensor(double), tensor(float), tensor(int64), tensor(string)

SVMClassifier

in X:T1
out Y:T2
out Z:tensor(float)

1+

T1 = tensor(double), tensor(float), tensor(int32), tensor(int64)
T2 = tensor(int64), tensor(string)

SVMRegressor

in X:T
out Y:tensor(float)

1+

T = tensor(float)

Scaler

in X:T
out Y:tensor(float)

1+

T = tensor(double), tensor(float), tensor(int32), tensor(int64)

TreeEnsembleClassifier

in X:T1
out Y:T2
out Z:tensor(float)

3+

T1 = tensor(double), tensor(float), tensor(int32), tensor(int64)
T2 = tensor(int64), tensor(string)

[1, 2]

T1 = tensor(double), tensor(float), tensor(int32), tensor(int64)
T2 = tensor(int64), tensor(string)

TreeEnsembleRegressor

in X:T
out Y:tensor(float)

3+

T = tensor(double), tensor(float)

[1, 2]

T = tensor(double), tensor(float)

ZipMap

in X:tensor(float)
out Z:T

1+

T = seq(map(int64,tensor(float))), seq(map(string,tensor(float)))

Operator Domain: com.microsoft

Attention

in input:T
in weights:T
in bias:T
in mask_index:M
in past:T
in extra_add:T
in key:T
in value:T
out output:T
out present:T

1+

T = tensor(float)

AttnLSTM

in X:T
in W:T
in R:T
in B:T
in sequence_lens:T1
in initial_h:T
in initial_c:T
in P:T
in QW:T
in MW:T
in V:T
in M:T
in memory_seq_lens:T1
in AW:T
out Y:T
out Y_h:T
out Y_c:T

1+

T = tensor(double), tensor(float)
T1 = tensor(int32)

BeamSearch

in input_ids:I
in max_length:I
in min_length:I
in num_beams:I
in num_return_sequences:I
in length_penalty:T
in repetition_penalty:T
in vocab_mask:M
in prefix_vocab_mask:M
in attention_mask:I
out sequences:I
out sequences_scores:T
out scores:T

1+

T = tensor(float)

BiasGelu

in A:T
in B:T
out C:T

1+

T = tensor(float)

BifurcationDetector

in src_tokens:T
in cur_tokens:T
in prev_suffix_match_idx:T
in pred_tokens:T
out tokens:T
out suffix_match_idx:T

1+

T = tensor(int64)

CDist

in A:T
in B:T
out C:T

1+

T = tensor(double), tensor(float)

ConvTransposeWithDynamicPads

in X:T
in W:T
in Pads:tensor(int64)
in B:T
out Y:T

1+

T = tensor(float)

CropAndResize

in X:T1
in rois:T1
in batch_indices:T2
in crop_size:T2
out Y:T1

1+

T1 = tensor(float)
T2 = tensor(int32)

DequantizeLinear

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

1+

T1 = tensor(int8), tensor(uint8)
T2 = tensor(float)

DynamicQuantizeLSTM

in X:T
in W:T2
in R:T2
in B:T
in sequence_lens:T1
in initial_h:T
in initial_c:T
in P:T
in W_scale:T
in W_zero_point:T2
in R_scale:T
in R_zero_point:T2
out Y:T
out Y_h:T
out Y_c:T

1+

T = tensor(float)
T1 = tensor(int32)
T2 = tensor(int8), tensor(uint8)

DynamicQuantizeMatMul

in A:T1
in B:T2
in b_scale:T1
in b_zero_point:T2
in bias:T1
out Y:T1

1+

T1 = tensor(float)
T2 = tensor(int8), tensor(uint8)

EmbedLayerNormalization

in input_ids:T1
in segment_ids:T1
in word_embedding:T
in position_embedding:T
in segment_embedding:T
in gamma:T
in beta:T
in mask:T1
in position_ids:T1
out output:T
out mask_index:T1
out embedding_sum:T

1+

T = tensor(float)

ExpandDims

in X:T
in axis:tensor(int32)
out Y:T

1+

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
axis = tensor(int32)

FastGelu

in X:T
in bias:T
out Y:T

1+

T = tensor(float)

FusedConv

in X:T
in W:T
in B:T
in Z:T
out Y:T

1+

T = tensor(float)

FusedGemm

in A:T
in B:T
in C:T
out Y:T

1+

T = tensor(float)

FusedMatMul

in A:T
in B:T
out Y:T

1+

T = tensor(float)

GatherND

in data:T
in indices:Tind
out output:T

1+

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
Tind = tensor(int32), tensor(int64)

Gelu

in X:T
out Y:T

1+

T = tensor(float)

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)

Inverse

in X:T
out Y:T

1+

T = tensor(double), tensor(float), tensor(float16)

MatMulInteger16

in A:T1
in B:T2
out Y:T3

1+

T1 = tensor(int16)
T2 = tensor(int16)
T3 = tensor(int32)

MatMulIntegerToFloat

in A:T1
in B:T2
in a_scale:T3
in b_scale:T3
in a_zero_point:T1
in b_zero_point:T2
in bias:T3
out Y:T3

1+

T1 = tensor(int8), tensor(uint8)
T2 = tensor(int8), tensor(uint8)
T3 = tensor(float)

MaxpoolWithMask

in X:T
in M:tensor(int32)
out Y:T

1+

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)

QuantizeLinear

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

1+

T1 = tensor(float)
T2 = tensor(int8), tensor(uint8)

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)

SampleOp

in X:T
out Y:T

1+

T = tensor(float)

SkipLayerNormalization

in input:T
in skip:T
in gamma:T
in beta:T
in bias:T
out output:T
out mean:U
out inv_std_var:U

1+

T = tensor(double), tensor(float)

SparseToDenseMatMul

in A:T
in B:T1
out Y:T1

1+

T = sparse_tensor(double), sparse_tensor(float), sparse_tensor(int32), sparse_tensor(int64), sparse_tensor(uint32), sparse_tensor(uint64)
T1 = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)

Tokenizer

in X:T
out Y:T

1+

T = tensor(string)

TransposeMatMul

in A:T
in B:T
out Y:T

1+

T = tensor(float)

Trilu

in X:T
in k:tensor(int64)
out Y:T

1+

T = tensor(double), tensor(float), tensor(int64)

Unique

in x:T
out y:T
out idx:tensor(int64)
out counts:tensor(int64)

1+

T = tensor(float)

WordConvEmbedding

in Sequence:T
in W:T1
in B:T1
in C:T1
out Y:T1

1+

T = tensor(int32)
T1 = tensor(float)

Operator Domain: com.microsoft.nchwc

AveragePool

in X:T
out Y:T

1+

T = tensor(float)

Conv

in X:T
in W:T
in B:T
in Sum:T
out Y:T

1+

T = tensor(float)

GlobalAveragePool

in X:T
out Y:T

1+

T = tensor(float)

GlobalMaxPool

in X:T
out Y:T

1+

T = tensor(float)

MaxPool

in X:T
out Y:T

1+

T = tensor(float)

ReorderInput

in X:T
out Y:T

1+

T = tensor(float)

ReorderOutput

in X:T
out Y:T

1+

T = tensor(float)

Upsample

in X:T
out Y:T

1+

T = tensor(float)

Operators implemented by CUDAExecutionProvider#

Op Name

Parameters

OpSet Version

Types Supported

Operator Domain: ai.onnx

Abs

in X:T
out Y:T

13+

T = tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[6, 12]

T = tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

Add

in A:T
in B:T
out C:T

14+

T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)

13

T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)

[7, 12]

T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)

Affine

in X:T
out Y:T

1+

T = tensor(double), tensor(float), tensor(float16)

And

in A:T
in B:T
out C:T1

7+

T = tensor(bool)
T1 = tensor(bool)

ArgMax

in data:T
out reduced:tensor(int64)

11+

T = tensor(double), tensor(float), tensor(float16)

[1, 10]

T = tensor(double), tensor(float), tensor(float16)

ArgMin

in data:T
out reduced:tensor(int64)

11+

T = tensor(double), tensor(float), tensor(float16)

[1, 10]

T = tensor(double), tensor(float), tensor(float16)

AveragePool

in X:T
out Y:T

11+

T = tensor(double), tensor(float), tensor(float16)

10

T = tensor(double), tensor(float), tensor(float16)

[7, 9]

T = tensor(double), tensor(float), tensor(float16)

BatchNormalization

in X:T
in scale:T
in B:T
in input_mean:U
in input_var:U
out Y:T
out running_mean:U
out running_var:U

or

in X:T
in scale:T
in B:T
in mean:T
in var:T
out Y:T
out mean:T
out var:T
out saved_mean:T
out saved_var:T

or

in X:T
in scale:T1
in B:T1
in input_mean:T2
in input_var:T2
out Y:T
out running_mean:T2
out running_var:T2

15+

T = tensor(double), tensor(float), tensor(float16)
T1 = tensor(double), tensor(float), tensor(float16)
T2 = tensor(double), tensor(float), tensor(float16)

14

T = tensor(double), tensor(float), tensor(float16)
U = tensor(double), tensor(float), tensor(float16)

[9, 13]

T = tensor(double), tensor(float), tensor(float16)

[7, 8]

T = tensor(double), tensor(float), tensor(float16)

Cast

in input:T1
out output:T2

13+

T1 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
T2 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[9, 12]

T1 = tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
T2 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[6, 8]

T1 = tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
T2 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

Ceil

in X:T
out Y:T

13+

T = tensor(double), tensor(float), tensor(float16)

[6, 12]

T = tensor(double), tensor(float), tensor(float16)

Clip

in input:T
in min:T
in max:T
out output:T

or

in input:T
out output:T

13+

T = tensor(double), tensor(float), tensor(float16), tensor(int64), tensor(int8), tensor(uint64), tensor(uint8)

12

T = tensor(double), tensor(float), tensor(float16), tensor(int64), tensor(int8), tensor(uint64), tensor(uint8)

11

T = tensor(float)

[6, 10]

T = tensor(float)

Compress

in input:T
in condition:T1
out output:T

11+

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
T1 = tensor(bool)

[9, 10]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
T1 = tensor(bool)

Concat

in inputs:T
out concat_result:T

13+

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[11, 12]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[4, 10]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

ConcatFromSequence

in input_sequence:S
out concat_result:T

11+

S = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8))

ConstantOfShape

in input:T1
out output:T2

9+

T1 = tensor(int64)
T2 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

Conv

in X:T
in W:T
in B:T
out Y:T

11+

T = tensor(double), tensor(float), tensor(float16)

[1, 10]

T = tensor(double), tensor(float), tensor(float16)

ConvTranspose

in X:T
in W:T
in B:T
out Y:T

11+

T = tensor(double), tensor(float), tensor(float16)

[1, 10]

T = tensor(double), tensor(float), tensor(float16)

Cos

in input:T
out output:T

7+

T = tensor(double), tensor(float), tensor(float16)

Crop

in input:T
out output:T

1+

T = tensor(double), tensor(float), tensor(float16)

CumSum

in x:T
in axis:T2
out y:T

14+

T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)
T2 = tensor(int32), tensor(int64)

[11, 13]

T = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)
T2 = tensor(int32), tensor(int64)

DepthToSpace

in input:T
out output:T

13+

T = tensor(double), tensor(float), tensor(float16)

[11, 12]

T = tensor(double), tensor(float), tensor(float16)

[1, 10]

T = tensor(double), tensor(float), tensor(float16)

DequantizeLinear

in x:T
in x_scale:tensor(float)
in x_zero_point:T
out y:tensor(float)

10+

T = tensor(int8), tensor(uint8)

Div

in A:T
in B:T
out C:T

14+

T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)

13

T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)

[7, 12]

T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)

Dropout

in data:T
in ratio:T1
in training_mode:T2
out output:T
out mask:T2

or

in data:T
out output:T
out mask:T

or

in data:T
out output:T
out mask:T1

13+

T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16)
T1 = tensor(bfloat16), tensor(double), tensor(float), tensor(float16)
T2 = tensor(bool)

12

T = tensor(double), tensor(float), tensor(float16)
T1 = tensor(double), tensor(float), tensor(float16)
T2 = tensor(bool)

[10, 11]

T = tensor(double), tensor(float), tensor(float16)
T1 = tensor(bool)

[7, 9]

T = tensor(double), tensor(float), tensor(float16)

DynamicSlice

in data:T
in starts:Tind
in ends:Tind
in axes:Tind
out output:T

1+

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
Tind = tensor(int32), tensor(int64)

Einsum

in Inputs:T
out Output:T

12+

T = tensor(double), tensor(float), tensor(float16)

Elu

in X:T
out Y:T

6+

T = tensor(double), tensor(float), tensor(float16)

Equal

in A:T
in B:T
out C:T1

13+

T = tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)
T1 = tensor(bool)

[11, 12]

T = tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)

[7, 10]

T = tensor(bool), tensor(int32), tensor(int64)

Erf

in input:T
out output:T

13+

T = tensor(double), tensor(float), tensor(float16)

[9, 12]

T = tensor(double), tensor(float), tensor(float16)

Exp

in input:T
out output:T

13+

T = tensor(double), tensor(float), tensor(float16)

[6, 12]

T = tensor(double), tensor(float), tensor(float16)

Expand

in input:T
in shape:tensor(int64)
out output:T

13+

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[8, 12]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

EyeLike

in input:T1
out output:T2

9+

T1 = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(uint64)
T2 = tensor(double), tensor(float), tensor(int32), tensor(int64), tensor(uint64)

Flatten

in input:T
out output:T

13+

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[11, 12]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[9, 10]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[1, 8]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

Floor

in X:T
out Y:T

13+

T = tensor(double), tensor(float), tensor(float16)

[6, 12]

T = tensor(double), tensor(float), tensor(float16)

GRU

in X:T
in W:T
in R:T
in B:T
in sequence_lens:T1
in initial_h:T
out Y:T
out Y_h:T

14+

T = tensor(double), tensor(float), tensor(float16)
T1 = tensor(int32)

[7, 13]

T = tensor(double), tensor(float), tensor(float16)
T1 = tensor(int32)

Gather

in data:T
in indices:Tind
out output:T

13+

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
Tind = tensor(int32), tensor(int64)

[11, 12]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
Tind = tensor(int32), tensor(int64)

[1, 10]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
Tind = tensor(int32), tensor(int64)

GatherElements

in data:T
in indices:Tind
out output:T

13+

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
Tind = tensor(int32), tensor(int64)

[11, 12]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
Tind = tensor(int32), tensor(int64)

GatherND

in data:T
in indices:tensor(int64)
out output:T

13+

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int64)
indices = tensor(int64)

12

T = tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int64)
indices = tensor(int64)

11

T = tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int64)
indices = tensor(int64)

Gemm

in A:T
in B:T
in C:T
out Y:T

13+

T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16)

[11, 12]

T = tensor(double), tensor(float), tensor(float16)

[9, 10]

T = tensor(double), tensor(float), tensor(float16)

[7, 8]

T = tensor(double), tensor(float), tensor(float16)

GlobalAveragePool

in X:T
out Y:T

1+

T = tensor(double), tensor(float), tensor(float16)

GlobalMaxPool

in X:T
out Y:T

1+

T = tensor(double), tensor(float), tensor(float16)

Greater

in A:T
in B:T
out C:T1

13+

T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)
T1 = tensor(bool)

[9, 12]

T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)

[7, 8]

T = tensor(double), tensor(float), tensor(float16)

GreaterOrEqual

in A:T
in B:T
out C:T1

16+

T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)
T1 = tensor(bool)

[12, 15]

T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)
T1 = tensor(bool)

HardSigmoid

in X:T
out Y:T

6+

T = tensor(double), tensor(float), tensor(float16)

Identity

in input:T
out output:T

or

in input:V
out output:V

14+

V = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8)), tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

13

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[1, 12]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

If

in cond:B
out outputs:V

13+

B = tensor(bool)
V = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(string)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8)), tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[11, 12]

B = tensor(bool)
V = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[1, 10]

B = tensor(bool)
V = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

ImageScaler

in input:T
out output:T

1+

T = tensor(double), tensor(float), tensor(float16)

InstanceNormalization

in input:T
in scale:T
in B:T
out output:T

6+

T = tensor(double), tensor(float), tensor(float16)

LRN

in X:T
out Y:T

13+

T = tensor(double), tensor(float), tensor(float16)

[1, 12]

T = tensor(double), tensor(float), tensor(float16)

LSTM

in X:T
in W:T
in R:T
in B:T
in sequence_lens:T1
in initial_h:T
in initial_c:T
in P:T
out Y:T
out Y_h:T
out Y_c:T

14+

T = tensor(double), tensor(float), tensor(float16)
T1 = tensor(int32)

[7, 13]

T = tensor(double), tensor(float), tensor(float16)
T1 = tensor(int32)

LayerNormalization

in X:T
in Scale:T
in B:T
out Y:T
out Mean:U
out InvStdDev:U

or

in X:T
in Scale:V
in B:V
out Y:V
out Mean:U
out InvStdDev:U

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

13+

B = tensor(bool)
I = tensor(int64)
V = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(string)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8)), tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[11, 12]

B = tensor(bool)
I = tensor(int64)
V = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[1, 10]

B = tensor(bool)
I = tensor(int64)
V = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

MatMul

in A:T
in B:T
out Y:T

13+

T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16)

[9, 12]

T = tensor(double), tensor(float), tensor(float16)

[1, 8]

T = tensor(double), tensor(float), tensor(float16)

MatMulInteger

in A:T1
in B:T2
in a_zero_point:T1
in b_zero_point:T2
out Y:T3

10+

T1 = tensor(int8)
T2 = tensor(int8)
T3 = tensor(int32)

Max

in data_0:T
out max:T

13+

T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)

12

T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)

[6, 11]

T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16)

MaxPool

in X:T
out Y:T

or

in X:T
out Y:T
out Indices:I

12+

I = tensor(int64)
T = tensor(double), tensor(float), tensor(float16), tensor(int8), tensor(uint8)

11

I = tensor(int64)
T = tensor(double), tensor(float), tensor(float16)

10

I = tensor(int64)
T = tensor(double), tensor(float), tensor(float16)

[8, 9]

I = tensor(int64)
T = tensor(double), tensor(float), tensor(float16)

[1, 7]

T = tensor(double), tensor(float), tensor(float16)

MemcpyFromHost

in X:T
out Y:T

1+

T = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8)), tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

MemcpyToHost

in X:T
out Y:T

1+

T = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8)), tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

Min

in data_0:T
out min:T

13+

T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)

12

T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)

[6, 11]

T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16)

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(int32), tensor(int64), tensor(uint32), tensor(uint64)

13

T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)

[7, 12]

T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)

Neg

in X:T
out Y:T

13+

T = tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8)

[6, 12]

T = tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8)

NonZero

in X:T
out Y:tensor(int64)

13+

T = tensor(bool), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint8)

[9, 12]

T = tensor(bool), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint8)

Not

in X:T
out Y:T

1+

T = tensor(bool)

OneHot

in indices:T1
in depth:T2
in values:T3
out output:T3

11+

T1 = tensor(int32), tensor(int64)
T2 = tensor(int32), tensor(int64)
T3 = tensor(float), tensor(float16), tensor(int64)

Or

in A:T
in B:T
out C:T1

7+

T = tensor(bool)
T1 = tensor(bool)

PRelu

in X:T
in slope:T
out Y:T

16+

T = tensor(double), tensor(float), tensor(float16)

[9, 15]

T = tensor(double), tensor(float), tensor(float16)

[7, 8]

T = tensor(double), tensor(float), tensor(float16)

Pad

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

or

in data:T
out output:T

13+

T = tensor(bool), tensor(double), tensor(float), tensor(float16)

[11, 12]

T = tensor(double), tensor(float), tensor(float16)

[2, 10]

T = tensor(double), tensor(float), tensor(float16)

ParametricSoftplus

in X:T
out Y:T

1+

T = tensor(double), tensor(float), tensor(float16)

Pow

in X:T
in Y:T
out Z:T

or

in X:T
in Y:T1
out Z:T

15+

T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64)
T1 = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64)

[13, 14]

T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64)
T1 = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64)

12

T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64)
T1 = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64)

[7, 11]

T = tensor(double), tensor(float), tensor(float16)

QuantizeLinear

in x:T1
in y_scale:tensor(float)
in y_zero_point:T2
out y:T2

10+

T1 = tensor(float)
T2 = tensor(int8), tensor(uint8)

RNN

in X:T
in W:T
in R:T
in B:T
in sequence_lens:T1
in initial_h:T
out Y:T
out Y_h:T

14+

T = tensor(double), tensor(float), tensor(float16)
T1 = tensor(int32)

[7, 13]

T = tensor(double), tensor(float), tensor(float16)
T1 = tensor(int32)

RandomNormal

out output:T

1+

T = tensor(double), tensor(float), tensor(float16)

RandomNormalLike

in input:T1
out output:T2

1+

T1 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
T2 = tensor(double), tensor(float), tensor(float16)

RandomUniform

out output:T

1+

T = tensor(double), tensor(float), tensor(float16)

RandomUniformLike

in input:T1
out output:T2

1+

T1 = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
T2 = tensor(double), tensor(float), tensor(float16)

Range

in start:T
in limit:T
in delta:T
out output:T

11+

T = tensor(double), tensor(float), tensor(int16), tensor(int32), tensor(int64)

Reciprocal

in X:T
out Y:T

13+

T = tensor(double), tensor(float), tensor(float16)

[6, 12]

T = tensor(double), tensor(float), tensor(float16)

ReduceL1

in data:T
out reduced:T

13+

T = tensor(double), tensor(float), tensor(float16), tensor(int32)

[11, 12]

T = tensor(double), tensor(float), tensor(float16), tensor(int32)

[1, 10]

T = tensor(double), tensor(float), tensor(float16), tensor(int32)

ReduceL2

in data:T
out reduced:T

13+

T = tensor(double), tensor(float), tensor(float16), tensor(int32)

[11, 12]

T = tensor(double), tensor(float), tensor(float16), tensor(int32)

[1, 10]

T = tensor(double), tensor(float), tensor(float16), tensor(int32)

ReduceLogSum

in data:T
out reduced:T

13+

T = tensor(double), tensor(float), tensor(float16)

[11, 12]

T = tensor(double), tensor(float), tensor(float16)

[1, 10]

T = tensor(double), tensor(float), tensor(float16)

ReduceLogSumExp

in data:T
out reduced:T

13+

T = tensor(double), tensor(float), tensor(float16)

[11, 12]

T = tensor(double), tensor(float), tensor(float16)

[1, 10]

T = tensor(double), tensor(float), tensor(float16)

ReduceMax

in data:T
out reduced:T

13+

T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(int8), tensor(uint8)

12

T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(int8), tensor(uint8)

11

T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64)

[1, 10]

T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64)

ReduceMean

in data:T
out reduced:T

13+

T = tensor(double), tensor(float), tensor(float16), tensor(int32)

[11, 12]

T = tensor(double), tensor(float), tensor(float16), tensor(int32)

[1, 10]

T = tensor(double), tensor(float), tensor(float16), tensor(int32)

ReduceMin

in data:T
out reduced:T

14+

T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(int8), tensor(uint8)

13

T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(int8), tensor(uint8)

12

T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(int8), tensor(uint8)

11

T = tensor(double), tensor(float), tensor(float16), tensor(int32)

[1, 10]

T = tensor(double), tensor(float), tensor(float16), tensor(int32)

ReduceProd

in data:T
out reduced:T

13+

T = tensor(double), tensor(float), tensor(float16), tensor(int32)

[11, 12]

T = tensor(double), tensor(float), tensor(float16), tensor(int32)

[1, 10]

T = tensor(double), tensor(float), tensor(float16), tensor(int32)

ReduceSum

in data:T
in axes:tensor(int64)
out reduced:T

or

in data:T
out reduced:T

13+

T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64)

[11, 12]

T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64)

[1, 10]

T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64)

ReduceSumSquare

in data:T
out reduced:T

13+

T = tensor(double), tensor(float), tensor(float16)

[11, 12]

T = tensor(double), tensor(float), tensor(float16)

[1, 10]

T = tensor(double), tensor(float), tensor(float16)

Relu

in X:T
out Y:T

14+

T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16)

13

T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16)

[6, 12]

T = tensor(double), tensor(float), tensor(float16)

Reshape

in data:T
in shape:tensor(int64)
out reshaped:T

or

in data:T
out reshaped:T

14+

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
shape = tensor(int64)

13

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
shape = tensor(int64)

[5, 12]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
shape = tensor(int64)

[1, 4]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

Resize

in X:T
in scales:tensor(float)
out Y:T

or

in X:T1
in roi:T2
in scales:tensor(float)
in sizes:tensor(int64)
out Y:T1

13+

T1 = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(uint8)

[11, 12]

T1 = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(uint8)

10

T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(uint8)

ReverseSequence

in input:T
in sequence_lens:tensor(int64)
out Y:T

10+

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

RoiAlign

in X:T1
in rois:T1
in batch_indices:T2
out Y:T1

10+

T1 = tensor(double), tensor(float)
T2 = tensor(int64)

Round

in X:T
out Y:T

11+

T = tensor(double), tensor(float), tensor(float16)

ScaledTanh

in input:T
out output:T

1+

T = tensor(double), tensor(float), tensor(float16)

Scan

in initial_state_and_scan_inputs:V
out final_state_and_scan_outputs:V

or

in sequence_lens:I
in initial_state_and_scan_inputs:V
out final_state_and_scan_outputs:V

16+

V = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[11, 15]

V = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[9, 10]

V = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

8

I = tensor(int64)
V = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

Scatter

in data:T
in indices:Tind
in updates:T
out output:T

[9, 10]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
Tind = tensor(int32), tensor(int64)

ScatterElements

in data:T
in indices:Tind
in updates:T
out output:T

13+

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
Tind = tensor(int32), tensor(int64)

[11, 12]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
Tind = tensor(int32), tensor(int64)

ScatterND

in data:T
in indices:tensor(int64)
in updates:T
out output:T

13+

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[11, 12]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

Selu

in X:T
out Y:T

6+

T = tensor(double), tensor(float), tensor(float16)

SequenceAt

in input_sequence:S
in position:I
out tensor:T

11+

I = tensor(int32), tensor(int64)
S = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8))
T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

SequenceConstruct

in inputs:T
out output_sequence:S

11+

S = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8))
T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

SequenceEmpty

out output:S

11+

S = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8))

SequenceErase

in input_sequence:S
in position:I
out output_sequence:S

11+

I = tensor(int32), tensor(int64)
S = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8))

SequenceInsert

in input_sequence:S
in tensor:T
in position:I
out output_sequence:S

11+

I = tensor(int32), tensor(int64)
S = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8))

SequenceLength

in input_sequence:S
out length:I

11+

I = tensor(int64)
S = seq(tensor(bfloat16)), seq(tensor(bool)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8))

Shape

in data:T
out shape:T1

15+

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
T1 = tensor(int64)

[13, 14]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
T1 = tensor(int64)

[1, 12]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
T1 = tensor(int64)

Shrink

in input:T
out output:T

9+

T = tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

Sigmoid

in X:T
out Y:T

13+

T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16)

[6, 12]

T = tensor(double), tensor(float), tensor(float16)

SimplifiedLayerNormalization

in X:T
in scale:V
out Y:V
out inv_std_var:U

1+

T = tensor(double), tensor(float), tensor(float16)
U = tensor(double), tensor(float)
V = tensor(double), tensor(float), tensor(float16)

Sin

in input:T
out output:T

7+

T = tensor(double), tensor(float), tensor(float16)

Size

in data:T
out size:T1

13+

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
T1 = tensor(int64)

[1, 12]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(string), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
T1 = tensor(int64)

Slice

in data:T
in starts:Tind
in ends:Tind
in axes:Tind
in steps:Tind
out output:T

or

in data:T
out output:T

13+

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
Tind = tensor(int32), tensor(int64)

[11, 12]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
Tind = tensor(int32), tensor(int64)

10

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)
Tind = tensor(int32), tensor(int64)

[1, 9]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

Softmax

in input:T
out output:T

13+

T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16)

[11, 12]

T = tensor(double), tensor(float), tensor(float16)

[1, 10]

T = tensor(double), tensor(float), tensor(float16)

Softplus

in X:T
out Y:T

1+

T = tensor(double), tensor(float), tensor(float16)

Softsign

in input:T
out output:T

1+

T = tensor(double), tensor(float), tensor(float16)

SpaceToDepth

in input:T
out output:T

13+

T = tensor(double), tensor(float), tensor(float16)

[1, 12]

T = tensor(double), tensor(float), tensor(float16)

Split

in input:T
in split:T
out outputs…:T

or

in input:T
in split:tensor(int64)
out outputs:T

or

in input:T
out outputs:T

13+

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[11, 12]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[2, 10]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

Sqrt

in X:T
out Y:T

13+

T = tensor(double), tensor(float), tensor(float16)

[6, 12]

T = tensor(double), tensor(float), tensor(float16)

Squeeze

in data:T
in axes:tensor(int64)
out squeezed:T

or

in data:T
out squeezed:T

13+

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[11, 12]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[1, 10]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

Sub

in A:T
in B:T
out C:T

14+

T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)

13

T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)

[7, 12]

T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint32), tensor(uint64)

Sum

in data_0:T
out sum:T

13+

T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16)

[8, 12]

T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16)

[6, 7]

T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16)

Tanh

in input:T
out output:T

13+

T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16)

[6, 12]

T = tensor(double), tensor(float), tensor(float16)

ThresholdedRelu

in X:T
out Y:T

10+

T = tensor(double), tensor(float), tensor(float16)

1+

T = tensor(double), tensor(float), tensor(float16)

Tile

in input:T
in repeats:T1
out output:T

or

in input:T
in tiles:T
in axis:T
out output:T

13+

T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64)
T1 = tensor(int64)

[6, 12]

T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64)
T1 = tensor(int64)

TopK

in X:T
in K:tensor(int64)
out Values:T
out Indices:I

or

in X:T
out Values:T
out Indices:I

11+

I = tensor(int64)
T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

10

I = tensor(int64)
T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[1, 9]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

Transpose

in data:T
out transposed:T

13+

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[1, 12]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

Trilu

in input:T
in k:tensor(int64)
out output:T

14+

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

Unsqueeze

in data:T
in axes:tensor(int64)
out expanded:T

or

in data:T
out expanded:T

13+

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[11, 12]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

[1, 10]

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

Upsample

in X:T
in scales:tensor(float)
out Y:T

or

in X:T
out Y:T

9

T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(uint8)

[7, 8]

T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(uint8)

Where

in condition:B
in X:T
in Y:T
out output:T

16+

B = tensor(bool)
T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint8)

[9, 15]

B = tensor(bool)
T = tensor(double), tensor(float), tensor(float16), tensor(int32), tensor(int64), tensor(uint8)

Xor

in A:T
in B:T
out C:T1

7+

T = tensor(bool)
T1 = tensor(bool)

Operator Domain: com.microsoft

Attention

in input:T
in weights:T
in bias:T
in mask_index:M
in past:T
in extra_add:T
in key:T
in value:T
out output:T
out present:T

1+

T = tensor(float), tensor(float16)

BeamSearch

in input_ids:I
in max_length:I
in min_length:I
in num_beams:I
in num_return_sequences:I
in length_penalty:T
in repetition_penalty:T
in vocab_mask:M
in prefix_vocab_mask:M
in attention_mask:I
out sequences:I
out sequences_scores:T
out scores:T

1+

T = tensor(float), tensor(float16)

BiasDropout

in data:T
in bias:T
in residual:T
in ratio:T1
in training_mode:T2
out output:T
out mask:T2

1+

T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16)
T1 = tensor(bfloat16), tensor(double), tensor(float), tensor(float16)
T2 = tensor(bool)

BiasGelu

in A:T
in B:T
out C:T

1+

T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16)

BiasSoftmax

in data:T
in bias:T
out output:T

1+

T = tensor(double), tensor(float), tensor(float16)

BitmaskBiasDropout

in data:T
in bias:T
in residual:T
in ratio:T1
in training_mode:T2
out output:T
out mask:T3

1+

T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16)
T1 = tensor(bfloat16), tensor(double), tensor(float), tensor(float16)
T2 = tensor(bool)
T3 = tensor(uint32)

BitmaskDropout

in data:T
in ratio:T1
in training_mode:T2
out output:T
out mask:T3

1+

T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16)
T1 = tensor(bfloat16), tensor(double), tensor(float), tensor(float16)
T2 = tensor(bool)
T3 = tensor(uint32)

ComplexMul

in A:T
in B:T
out C:T

1+

T = tensor(float), tensor(float16)

ComplexMulConj

in A:T
in B:T
out C:T

1+

T = tensor(float), tensor(float16)

ConvTransposeWithDynamicPads

in X:T
in W:T
in Pads:tensor(int64)
in B:T
out Y:T

1+

T = tensor(float)

DecoderAttention

in query:T
in key:T
in q_weight:T
in kv_weight:T
in bias:T
in key_padding_mask:B
in key_cache:T
in value_cache:T
in static_kv:B
in use_past:B
in has_layer_state:B
in has_key_padding_mask:B
out output:T
out new_key_cache:T
out new_value_cache:T

1+

T = tensor(float), tensor(float16)

DequantizeLinear

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

1+

T1 = tensor(int8), tensor(uint8)
T2 = tensor(float16)

DequantizeWithOrder

in input:Q
in scale_input:S
out output:F

1+

F = tensor(float), tensor(float16)
Q = tensor(int8)
S = tensor(float)

EmbedLayerNormalization

in input_ids:T1
in segment_ids:T1
in word_embedding:T
in position_embedding:T
in segment_embedding:T
in gamma:T
in beta:T
in mask:T1
in position_ids:T1
out output:T
out mask_index:T1
out embedding_sum:T

1+

T = tensor(float), tensor(float16)

FastGelu

in X:T
in bias:T
out Y:T

1+

T = tensor(bfloat16), tensor(float), tensor(float16)

FusedConv

in X:T
in W:T
in B:T
in Z:T
out Y:T

1+

T = tensor(float)

FusedMatMul

in A:T
in B:T
out Y:T

1+

T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16)

Gelu

in X:T
out Y:T

1+

T = tensor(double), tensor(float), tensor(float16)

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)

Inverse

in X:T
out Y:T

1+

T = tensor(double), tensor(float), tensor(float16)

Irfft

in X:T
out Y:T

1+

T = tensor(double), tensor(float), tensor(float16)

LongformerAttention

in input:T
in weight:T
in bias:T
in mask:T
in global_weight:T
in global_bias:T
in global:G
out output:T

1+

T = tensor(float), tensor(float16)

NGramRepeatBlock

in input_ids:Tid
in scores:T
out scores_out:T

1+

T = tensor(float)
Tid = tensor(int64)

QAttention

in input:T1
in weight:T2
in bias:T3
in input_scale:T3
in weight_scale:T3
in mask_index:T4
in input_zero_point:T1
in weight_zero_point:T2
in past:T3
out output:T3
out present:T3

1+

T1 = tensor(int8)
T2 = tensor(int8)
T3 = tensor(float), tensor(float16)
T4 = tensor(int32)

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 extra_add: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(double), tensor(float), tensor(float16)

Rfft

in X:T
out Y:T

1+

T = tensor(double), tensor(float), tensor(float16)

SkipLayerNormalization

in input:T
in skip:T
in gamma:T
in beta:T
in bias:T
out output:T
out mean:U
out inv_std_var:U

1+

T = tensor(float), tensor(float16)

TransposeMatMul

in A:T
in B:T
out Y:T

1+

T = tensor(bfloat16), tensor(double), tensor(float), tensor(float16)

Trilu

in X:T
in k:tensor(int64)
out Y:T

1+

T = tensor(bfloat16), tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

Operators implemented by DmlExecutionProvider#

Op Name

Parameters

OpSet Version

Types Supported

Operator Domain: ai.onnx

Abs

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)

Acos

in input:T
out output:T

7+

T = tensor(float), tensor(float16)

Acosh

in input:T
out output:T

9+

T = tensor(float), tensor(float16)

Add

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)

Affine

in X:T
out Y:T

1+

T = tensor(float), tensor(float16)

And

in A:T
in B:T
out C:T1

7+

T = tensor(bool)

ArgMax

in 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)

ArgMin

in 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)

Asin

in input:T
out output:T

7+

T = tensor(float), tensor(float16)

Asinh

in input:T
out output:T

9+

T = tensor(float), tensor(float16)

Atan

in input:T
out output:T

7+

T = tensor(float), tensor(float16)

Atanh

in input:T
out output:T

9+

T = tensor(float), tensor(float16)

AveragePool

in X:T
out Y:T

11+

T = tensor(float), tensor(float16)

10+

T = tensor(float), tensor(float16)

7+

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(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)

Cast

in input:T1
out output:T2

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

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)

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)

ConstantOfShape

in input:T1
out output:T2

9+

T1 = tensor(int64)
T2 = tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

Conv

in X:T
in W:T
in B:T
out Y:T

11+

T = tensor(float), 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
out output:T1

17+

T1 = tensor(float)
T2 = 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)

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(int8), tensor(uint16), tensor(uint32), tensor(uint8)

13+

T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint8)

7+

T = tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int8), tensor(uint16), tensor(uint32), 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(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

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

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

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)

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

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)

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)

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

10+

T1 = tensor(float)
T2 = tensor(bool)

IsNaN

in X:T1
out Y:T2

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)

LeakyRelu

in X:T
out Y:T

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

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

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 = tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

MemcpyToHost

in X:T
out Y:T

1+

T = tensor(bool), tensor(double), tensor(float), tensor(float16), tensor(int16), tensor(int32), tensor(int64), tensor(int8), tensor(uint16), tensor(uint32), tensor(uint64), tensor(uint8)

Min

in data_0:T
out min:T

13+

T = tensor(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)

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)

Or

in A:T
in B:T
out C:T1

7+

T = tensor(bool)

PRelu

in X:T
in slope:T
out Y:T

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
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)

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:tensor(float)
in a_zero_point:T1
in b:T2
in b_scale:tensor(float)
in b_zero_point:T2
in y_scale:tensor(float)
in y_zero_point:T3
out y:T3

10+

T1 = tensor(int8), tensor(uint8)
T2 = tensor(int8), tensor(uint8)
T3 = tensor(int8), tensor(uint8)

QuantizeLinear

in x:T1
in y_scale:tensor(float)
in y_zero_point:T2
out y:T2

13+

T1 = tensor(float), 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
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)

ReduceL2

in data:T
out reduced:T

13+

T = tensor(float), tensor(float16)

11+

T = tensor(float), tensor(float16)

1+

T = tensor(float), tensor(float16)

ReduceLogSum

in data:T
out reduced:T

13+

T = tensor(float), tensor(float16)

11+

T = tensor(float), tensor(float16)

1+

T = tensor(float), tensor(float16)

ReduceLogSumExp

in data:T
out reduced:T

13+

T = tensor(float), tensor(float16)

11+

T = tensor(float), tensor(float16)

1+

T = tensor(float), tensor(float16)

ReduceMax

in data:T
out reduced: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)

1+

T = tensor(float), tensor(float16)

ReduceMean

in data:T
out reduced:T

13+

T = tensor(float), tensor(float16)

11+

T = tensor(float), tensor(float16)

1+

T = tensor(float), tensor(float16)

ReduceMin

in data:T
out reduced: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)

1+

T = tensor(float), tensor(float16)

ReduceProd

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)

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
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)

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

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

13+

T1 = tensor(float), tensor(float16)
T2 = tensor(float), tensor(float16)

11+

T1 = tensor(float), tensor(float16)
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

10+

T1 = tensor(float), tensor(float16)
T2 = tensor(int32), tensor(int64)

Round

in X:T
out Y:T

11+

T = tensor(float), tensor(float16)

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

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

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)

Shape

in data:T
out shape:T1

15+

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)
T1 = 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)
T1 = 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)
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)

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

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)
T1 = 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)
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

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

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

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

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

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 extra_add:T
in key:T
in value:T
out output:T
out present:T

1+

M = tensor(int32)
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(float)
T2 = tensor(uint8)

FusedMatMul

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)

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)

QLinearSigmoid

in X:T
in X_scale:tensor(float)
in X_zero_point:T
in Y_scale:tensor(float)
in Y_zero_point:T
out Y:T

1+

T = tensor(int8), tensor(uint8)

QuantizeLinear

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

1+

T1 = tensor(float)
T2 = tensor(uint8)

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)