2.2.0
ONNX toolbox support


ST Edge AI Core

ONNX toolbox support


ST Edge AI Core Technology 2.2.0




Overview

This document lists the layers (or operators) which can be imported and converted. Supported operators allow to address a large range of classical topologies targeting a Mobile or IoT resource-constrained runtime environment: SqueezeNet, MobileNet V1 or V2, Inception, SSD MobileNet v1,..

Purpose of this document is to list the operators and their associated constraints or limitations, please refer to the original documentation for details on a given layer.

ONNX is an open format built to represent machine learning models. A part of a subset of operators from Opset 7, 8, 9, 10 up to 20 of ONNX 1.15 is supported.

This file was automatically generated.

Summary table

Following table contains the list of the operators that can be imported, if the constraints or limitations are met.

  • supported optional fused activation (or non-linearity): gelu, linear, relu, quantized_relu, relu_n1_to_1, relu_0_to_1, leaky_relu, relu6, elu, selu, sigmoid, hard_sigmoid, hard_swish, exponential, tanh, softmax, softplus, softsign, abs, acos, acosh, asin, asinh, atan, atanh, ceil, clip, cos, cosh, erf, flexerf, exp, floor, identity, log, logistic, neg, logical_not, prelu, probit, reciprocal, relu_generic, relu_thresholded, round, sign, sin, sinh, softmax_zero, sqrt, swish, tan
operator data types constraints/limitations
Abs float32 common
Acos float32 common
Acosh float32 common
Add float32 common
And bool common
ArgMax float32, int32 common
ArgMin float32, int32 common
ArrayFeatureExtractor float32 common, specific
Asin float32 common
Asinh float32 common
Atan float32 common
Atanh float32 common
AveragePool float32 common, specific
BatchNormalization float32 common, specific
BitShift float32 common
Cast bool, int8, uint8, float32 common, specific
Ceil float32 common
Clip float32 common
Concat float32 common, specific
Constant float32 common
ConstantOfShape float32 common
Conv float32 common, specific
ConvTranspose float32 common, specific
Cos float32 common
Cosh float32 common
DepthToSpace float32, int8, uint8 common, specific
DequantizeLinear float32, int8, uint8 common, specific
Div float32 common
Dropout float32 common, specific
Einsum float32 common, specific
Elu float32 common
Equal float32, bool common
Erf float32 common
Exp float32 common
Expand float32, int8, uint8 common, specific
Flatten float32 common, specific
Floor float32 common
Gather float32 common, specific
GatherElements float32 common, specific
GatherND float32 common, specific
Gelu float32 common
Gemm float32 common
GlobalAveragePool float32 common
GlobalMaxPool float32 common
Greater float32, bool common
GreaterOrEqual float32, bool common
GRU float32 common, specific
Hardmax float32 common, specific
HardSigmoid float32 common, specific
HardSwish float32 common
Identity float32 common
InstanceNormalization float32 common
LabelEncoder float32 common, specific
LeakyRelu float32 common
Less float32, bool common
LessOrEqual float32, bool common
LinearClassifier float32 common, specific
Log float32 common
LogSoftmax float32 common, specific
LpNormalization float32 common, specific
LRN float32 common
LSTM float32 common, specific
MatMul float32 common, specific
Max float32 common
MaxPool float32 common, specific
Mean float32 common
Min float32 common
Mod float32 common
Mul float32 common
Neg float32 common
Normalizer float32 common, specific
Not float32 common
Or bool common
Pad float32 common, specific
Pow float32 common
PRelu float32 common, specific
QLinearAdd uint8, int8 common
QLinearAveragePool uint8, int8 common, specific
QLinearConcat uint8, int8 common, specific
QLinearConv int8, uint8 common, specific
QLinearGlobalAveragePool uint8, int8 common
QLinearMatMul int8, uint8 common
QLinearMul uint8, int8 common
QuantizeLinear float32, int8, uint8 common, specific
Range float32 common
Reciprocal float32 common
ReduceL1 float32 common
ReduceL2 float32 common
ReduceLogSumExp float32 common
ReduceMax float32 common
ReduceMean float32 common
ReduceMin float32 common
ReduceProd float32 common
ReduceSum float32 common
ReduceSumSquare float32 common
Relu float32 common
Reshape float32 common, specific
Resize float32 common, specific
Round float32 common
Scaler float32, float common, specific
ScatterND float32 common, specific
Selu float32 common
Shape float32, int8, uint8, int32 common, specific
Sigmoid float32 common
Sign float32 common
Sin float32 common
Sinh float32 common
Slice float32, int8, uint8 common
Softmax float32 common, specific
Softplus float32 common
Softsign float32 common
SpaceToDepth float32, int8, uint8 common
Split float32, int8, uint8 common, specific
Sqrt float32 common
Squeeze float32 common
Sub float32 common
Sum float32 common
SVMClassifier float32 common, specific
SVMRegressor float32 common, specific
Tan float32 common
Tanh float32 common
ThresholdedRelu float32 common
Tile float32, int8, uint8 common, specific
TopK float32, int8, uint8 common
Transpose float32, int8, uint8 common, specific
TreeEnsembleClassifier float32 common, specific
TreeEnsembleRegressor float32 common, specific
Unsqueeze float32 common
Upsample float32 common, specific
Where float32, int8, uint8, int16, uint16, int32, uint32, bool common
Xor bool common
ZipMap float32 common, specific

Common constraints

  • input and output tensors must be not dynamic.
    • variable-length batch dimension (i.e. (None,)) is considered as equal to 1
    • must not be greater than 6D
    • dimension must be in the range [0, 65536[
    • batch dimension is partially supported in the axis/axes parameters
  • data type for the weights/activations tensors must be:
    • float32, int8, uint8
    • only int32 for the bias tensor is considered
    • for some operators, bool and binary types are also supported
  • 1D operator is mapped on the respective 2D operator by adding a singleton dimension on the input: (12,3) -> (12, 1, 3)

Operators

Abs

Applies an activation function to the input tensor

  • category: activation layer
  • input data types: float32
  • output data types: float32

Acos

Applies an activation function to the input tensor

  • category: activation layer
  • input data types: float32
  • output data types: float32

Acosh

Applies an activation function to the input tensor

  • category: activation layer
  • input data types: float32
  • output data types: float32

Add

Performs element-wise operation

  • category: eltwise operator
  • input data types: float32
  • output data types: float32

And

Performs boolean element-wise operation

  • category: eltwise operator
  • input data types: bool
  • output data types: bool

ArgMax

Computes the indices of the max elements of the input tensor’s element along the provided axis.

  • category: generic layer
  • input data types: float32
  • output data types: int32

ArgMin

Computes the indices of the min elements of the input tensor’s element along the provided axis.

  • category: generic layer
  • input data types: float32
  • output data types: int32

ArrayFeatureExtractor

Select elements of the input tensor besed of the indices passed

  • category: onnx.ml
  • input data types: float32
  • output data types: float32

Specific constraints/recommendations:

  • used to support for example the skit-learn algo:
    • Nu-Support Vector Classification (sklearn.svm.NuSVC)
    • C-Support Vector Classification. (sklearn.svm.SVC)
    • A random forest classifier (sklearn.ensemble.RandomForestClassifier)

Asin

Applies an activation function to the input tensor

  • category: activation layer
  • input data types: float32
  • output data types: float32

Asinh

Applies an activation function to the input tensor

  • category: activation layer
  • input data types: float32
  • output data types: float32

Atan

Applies an activation function to the input tensor

  • category: activation layer
  • input data types: float32
  • output data types: float32

Atanh

Applies an activation function to the input tensor

  • category: activation layer
  • input data types: float32
  • output data types: float32

AveragePool

Downsamples the input

  • category: pooling layer
  • input data types: float32
  • output data types: float32

Specific constraints/recommendations:

  • arbitrary strides, provided that they are smaller than the input size
  • arbitrary pool sizes, provided that they are smaller than the input size
  • The attribute dilations different from the default value is not supported

BatchNormalization

Performs the normalization of the input

  • category: normalization layer
  • input data types: float32
  • output data types: float32

Specific constraints/recommendations:

  • Only one output (Y) is supported

BitShift

Performs element-wise operation

  • category: eltwise operator
  • input data types: float32
  • output data types: float32

Cast

Cast elements of the input tensor to the specified output tensor data

  • category: conversion layer
  • input data types: bool, int8, uint8, float32
  • output data types: bool, int8, uint8, float32

Specific constraints/recommendations:

  • The attribute saturate different from the default value is not supported

Ceil

Applies an activation function to the input tensor

  • category: activation layer
  • input data types: float32
  • output data types: float32

Clip

Applies an activation function to the input tensor

  • category: activation layer
  • input data types: float32
  • output data types: float32

Concat

Performs concatenation of a list of inputs

  • category: merge operator
  • input data types: float32
  • output data types: float32

Specific constraints/recommendations:

  • concatenating on the batch dimension is not supported

Constant

  • input data types: float32
  • output data types: float32

ConstantOfShape

Generates a tensor with given value and shape

  • category: constant layer
  • input data types: float32
  • output data types: float32

Conv

Performs convolution operation

  • category: convolutional layer
  • input data types: float32
  • output data types: float32

Specific constraints/recommendations:

  • arbitrary strides, provided that they are smaller than the input size
  • arbitrary filter kernel sizes, provided that they are smaller than the input size

ConvTranspose

Transposed convolutional layer

  • category: convolutional layer
  • input data types: float32
  • output data types: float32

Specific constraints/recommendations:

  • arbitrary strides, provided that they are smaller than the input size
  • arbitrary filter kernel sizes, provided that they are smaller than the input size

Cos

Applies an activation function to the input tensor

  • category: activation layer
  • input data types: float32
  • output data types: float32

Cosh

Applies an activation function to the input tensor

  • category: activation layer
  • input data types: float32
  • output data types: float32

DepthToSpace

Permutes the dimensions of the input according to a given pattern

  • category: reshaping layer
  • input data types: float32, int8, uint8
  • output data types: float32, int8, uint8

Specific constraints/recommendations:

  • transposing the batch dimension is not supported

DequantizeLinear

Computes element-wise data conversion low precision to full precision, based on the scale/zeropoint parameters

  • category: conversion layer
  • input data types: float32, int8, uint8
  • output data types: float32, int8, uint8

Specific constraints/recommendations:

  • The attribute block_size different from the default value is not supported

Div

Performs element-wise operation

  • category: eltwise operator
  • input data types: float32
  • output data types: float32

Dropout

Applies Dropout to the input

  • category: regularization layers
  • input data types: float32
  • output data types: float32

Specific constraints/recommendations:

  • operator is dropped during the conversion

Einsum

Einsum (Einstein Summation) operator

  • category: einsum operator
  • input data types: float32
  • output data types: float32

Specific constraints/recommendations:

  • related ONNX operator: Einsum
  • requires 3 operators: 2 inputs and 1 output
  • only 4-D operators are supported

Elu

Applies an activation function to the input tensor

  • category: activation layer
  • input data types: float32
  • output data types: float32

Equal

Performs logical element-wise operation

  • category: eltwise operator
  • input data types: float32
  • output data types: bool

Erf

Applies an activation function to the input tensor

  • category: activation layer
  • input data types: float32
  • output data types: float32

Exp

Applies an activation function to the input tensor

  • category: activation layer
  • input data types: float32
  • output data types: float32

Expand

Constructs a tensor by tiling the input tensor

  • category: reshaping layer
  • input data types: float32, int8, uint8
  • output data types: float32, int8, uint8

Specific constraints/recommendations:

  • tiling on batch-dimension is not supported

Flatten

Flattens the non-batch input dimensions to a vector

  • category: Reshaping operation
  • input data types: float32
  • output data types: float32

Specific constraints/recommendations:

  • Flatten on the batch dimension is not supported
  • operator is dropped during the conversion

Floor

Applies an activation function to the input tensor

  • category: activation layer
  • input data types: float32
  • output data types: float32

Gather

Gathers values along a specified axis

  • category: activation function
  • input data types: float32
  • output data types: float32

Specific constraints/recommendations:

  • Gather is not supported with indices dimensions > 2 (Batch is not considered), axis > 3and axis = 0, batch_dims attribute is not handled

GatherElements

Gathers Elements along a specified axis

  • category: activation function
  • input data types: float32
  • output data types: float32

Specific constraints/recommendations:

  • GatherElements is not supported with indices dimensions > 2 (Batch is not considered), axis > 3and axis = 0, batch_dims attribute is not handled

GatherND

Gathers slices from input tensor into an output tensor with shape specified by indices

  • category: activation function
  • input data types: float32
  • output data types: float32

Specific constraints/recommendations:

  • Batch_dims attribute is not handled. 4D or more indices (BATCH is not included) are not implementedLast dimension of indices > 4 with 2D inputs tensor case is not handled

Gelu

Applies an activation function to the input tensor

  • category: activation layer
  • input data types: float32
  • output data types: float32

Gemm

General Matrix multiplication: Compute Y = alphaAB + beta*C

  • category: core layer
  • input data types: float32
  • output data types: float32

GlobalAveragePool

Downsamples the input

  • category: pooling layer
  • input data types: float32
  • output data types: float32

GlobalMaxPool

Downsamples the input

  • category: pooling layer
  • input data types: float32
  • output data types: float32

Greater

Performs logical element-wise operation

  • category: eltwise operator
  • input data types: float32
  • output data types: bool

GreaterOrEqual

Performs logical element-wise operation

  • category: eltwise operator
  • input data types: float32
  • output data types: bool

GRU

Gated Recurrent Unit

  • category: recurrent layer
  • input data types: float32
  • output data types: float32

Specific constraints/recommendations:

  • stateless and stateful (batch=1 only) mode support
  • fused activation: gelu, linear, relu, quantized_relu, relu_n1_to_1, relu_0_to_1, leaky_relu, relu6, elu, selu, sigmoid, hard_sigmoid, hard_swish, exponential, tanh, softmax, softplus, softsign
  • fused recurrent activation: gelu, linear, relu, quantized_relu, relu_n1_to_1, relu_0_to_1, leaky_relu, relu6, elu, selu, sigmoid, hard_sigmoid, hard_swish, exponential, tanh, softmax, softplus, softsign
  • return_state not supported

Hardmax

Applies an activation function to the input tensor

  • category: activation layer
  • input data types: float32
  • output data types: float32

Specific constraints/recommendations:

  • The value 1 is supported as the default value of the axis attribute, not the value -1

HardSigmoid

Applies an activation function to the input tensor

  • category: activation layer
  • input data types: float32
  • output data types: float32

Specific constraints/recommendations:

  • It is supported only for 1D tensor and only on the channel dimension

HardSwish

Applies an activation function to the input tensor

  • category: activation layer
  • input data types: float32
  • output data types: float32

Identity

This layer should be used as a placeholder when no operation is to be performed.The layer just returns its inputs argument as output.

  • category: Identity layer
  • input data types: float32
  • output data types: float32

InstanceNormalization

Apply instance normalization

  • category: normalization function
  • input data types: float32
  • output data types: float32

LabelEncoder

Maps each element in the input tensor to another value.

  • category: LabelEncoder
  • input data types: float32
  • output data types: float32

Specific constraints/recommendations:

  • Warning: This operator is not supported for C code generation, it is only used during iForest generation. Support is not complete.
  • Attributes keys_floats, keys_strings, values_int64s, values_strings are not supported

LeakyRelu

Applies an activation function to the input tensor

  • category: activation layer
  • input data types: float32
  • output data types: float32

Less

Performs logical element-wise operation

  • category: eltwise operator
  • input data types: float32
  • output data types: bool

LessOrEqual

Performs logical element-wise operation

  • category: eltwise operator
  • input data types: float32
  • output data types: bool

LinearClassifier

LinearClassifier layer

  • category: onnx.ml
  • input data types: float32
  • output data types: float32

Specific constraints/recommendations:

  • used to support for example the skit-learn algo:
    • Linear Support Vector Classification. (sklearn.svm.LinearSVC)
    • Logistic Regression (aka logit, MaxEnt) classifier. (sklearn.linear_model.LogisticRegression)
    • Classifier using Ridge regression. (sklearn.linear_model.RidgeClassifier)
    • Linear Discriminant Analysis. (sklearn.discriminant_analysis.LinearDiscriminantAnalysis)

Log

Applies an activation function to the input tensor

  • category: activation layer
  • input data types: float32
  • output data types: float32

LogSoftmax

Applies an activation function to the input tensor

  • category: activation layer
  • input data types: float32
  • output data types: float32

Specific constraints/recommendations:

  • It is supported only for 1D tensor and only on the channel dimension
  • The value 1 is supported as the default value of the axis attribute, not the value -1

LpNormalization

Apply Lp-normalization along the provided axis

  • category: normalization function
  • input data types: float32
  • output data types: float32

Specific constraints/recommendations:

  • order of the normalization (1 and 2 supported)

LRN

Apply Local Response Normalization over local input regions

  • category: normalization function
  • input data types: float32
  • output data types: float32

LSTM

Computes a multi-layer long short-term memory (LSTM) RNN to an input sequence (batch=1, timesteps, features)

  • category: recurrent layer
  • input data types: float32
  • output data types: float32

Specific constraints/recommendations:

  • stateless mode support only
  • fused activation: sigmoid
  • fused recurrent activation: sigmoid
  • return_state not supported
  • Only 1 input is allowed for LSTM; the others should be constant and placed into the initializers
  • layout=1 attribute is not supported

MatMul

General Matrix multiplication: Compute Y = alphaAB + beta*C

  • category: core layer
  • input data types: float32
  • output data types: float32

Specific constraints/recommendations:

  • Only up to 3D matrix multiplication is supported

Max

Computes the maximum (element-wise) a list of inputs

  • category: eltwise operator
  • input data types: float32
  • output data types: float32

MaxPool

Downsamples the input

  • category: pooling layer
  • input data types: float32
  • output data types: float32

Specific constraints/recommendations:

  • arbitrary strides, provided that they are smaller than the input size
  • arbitrary pool sizes, provided that they are smaller than the input size
  • The attribute dilations different from the default value is not supported
  • The attribute storage_order different from the default value is not supported

Mean

Performs element-wise operation

  • category: eltwise operator
  • input data types: float32
  • output data types: float32

Min

Computes the minimum (element-wise) a list of inputs

  • category: eltwise operator
  • input data types: float32
  • output data types: float32

Mod

Performs element-wise operation

  • category: eltwise operator
  • input data types: float32
  • output data types: float32

Mul

Performs element-wise operation

  • category: eltwise operator
  • input data types: float32
  • output data types: float32

Neg

Applies an activation function to the input tensor

  • category: activation layer
  • input data types: float32
  • output data types: float32

Normalizer

Normalize the input.

  • category: onnx.ml
  • input data types: float32
  • output data types: float32

Specific constraints/recommendations:

  • used to support for example the skit-learn algo:
    • Logistic Regression (aka logit, MaxEnt) classifier. (sklearn.linear_model.LogisticRegression)
    • Normalize samples individually to unit norm. (sklearn.preprocessing.Normalizer)
  • Note that the implementation of the max norm is aligned with sklearn implementation, not the onnx implementation. The difference is that sklearn is using absolute values to get a positive divisor when computing the norm. Onnx implementation does not use absolute values.

Not

Applies an activation function to the input tensor

  • category: activation layer
  • input data types: float32
  • output data types: float32

Or

Performs boolean element-wise operation

  • category: eltwise operator
  • input data types: bool
  • output data types: bool

Pad

Pads an input tensor

  • category: Reshaping layer
  • input data types: float32
  • output data types: float32

Specific constraints/recommendations:

  • Axes are not supported for Pad operator
  • wrap value for mode attribute is not supported

Pow

Performs element-wise operation

  • category: eltwise operator
  • input data types: float32
  • output data types: float32

PRelu

Applies an activation function to the input tensor

  • category: activation layer
  • input data types: float32
  • output data types: float32

Specific constraints/recommendations:

  • Only 1 input is allowed for PRelu; the slope should be constant and placed into the initializers

QLinearAdd

Performs element-wise binary addition on 8 bit data types(with Numpy-style broadcasting support).

  • category: eltwise operator
  • input data types: uint8, int8
  • output data types: uint8, int8

QLinearAveragePool

Downsamples an input tensor X and applies average pooling across the tensor according to kernel sizes, stride sizes, and pad lengths

  • category: pooling layer
  • input data types: uint8, int8
  • output data types: uint8, int8

Specific constraints/recommendations:

  • arbitrary strides, provided that they are smaller than the input size
  • arbitrary pool sizes, provided that they are smaller than the input size

QLinearConcat

Concatenate a list of tensors into a single tensor

  • category: merge operator
  • input data types: uint8, int8
  • output data types: uint8, int8

Specific constraints/recommendations:

  • concatenating on the batch dimension is not supported

QLinearConv

Consumes a quantized input tensor

  • category: convolutional layer
  • input data types: int8, uint8
  • output data types: int8, uint8

Specific constraints/recommendations:

  • arbitrary strides, provided that they are smaller than the input size
  • arbitrary filter kernel sizes, provided that they are smaller than the input size

QLinearGlobalAveragePool

Downsamples an input tensor X and applies Average pooling acrossthe values in the same channel

  • category: pooling layer
  • input data types: uint8, int8
  • output data types: uint8, int8

QLinearMatMul

Matrix product consuming two quantized input tensors

  • category: core layer
  • input data types: int8, uint8
  • output data types: int8, uint8

QLinearMul

Performs element-wise binary multiplication on 8 bit data types(with Numpy-style broadcasting support).

  • category: eltwise operator
  • input data types: uint8, int8
  • output data types: uint8, int8

QuantizeLinear

Computes element-wise data conversion full precision to low precision, based on the scale/zeropoint parameters

  • category: conversion layer
  • input data types: float32, int8, uint8
  • output data types: float32, int8, uint8

Specific constraints/recommendations:

  • The attribute block_size different from the default value is not supported
  • The attribute saturate different from the default value is not supported
  • The attribute output_dtype different from the default value is not supported

Range

Generate a tensor containing a sequence of numbers that begin at start and extends by increments of delta up to limit (exclusive).

  • category: generic layer
  • input data types: float32
  • output data types: float32

Reciprocal

Applies an activation function to the input tensor

  • category: activation layer
  • input data types: float32
  • output data types: float32

ReduceL1

  • category: reduction operation
  • input data types: float32
  • output data types: float32

ReduceL2

  • category: reduction operation
  • input data types: float32
  • output data types: float32

ReduceLogSumExp

  • category: reduction operation
  • input data types: float32
  • output data types: float32

ReduceMax

Computes the Max of the input tensor’s element along the provided axes

  • category: reduction operation
  • input data types: float32
  • output data types: float32

ReduceMean

Computes the Mean of the input tensor’s element along the provided axes

  • category: reduction operation
  • input data types: float32
  • output data types: float32

ReduceMin

Computes the Min of the input tensor’s element along the provided axes

  • category: reduction operation
  • input data types: float32
  • output data types: float32

ReduceProd

Computes the Product of the input tensor’s element along the provided axes

  • category: reduction operation
  • input data types: float32
  • output data types: float32

ReduceSum

Computes the Sum of the input tensor’s element along the provided axes

  • category: reduction operation
  • input data types: float32
  • output data types: float32

ReduceSumSquare

Computes the Sum Square of the input tensor’s element along the provided axes

  • category: reduction operation
  • input data types: float32
  • output data types: float32

Relu

Applies an activation function to the input tensor

  • category: activation layer
  • input data types: float32
  • output data types: float32

Reshape

Reshapes a tensor

  • category: Reshaping operation
  • input data types: float32
  • output data types: float32

Specific constraints/recommendations:

  • The attribute allowzero different from the default value is not supported

Resize

Resize the input tensor: it calculates every value in the output tensor as a weighted average of neighborhood

  • category: resizing operation
  • input data types: float32
  • output data types: float32

Specific constraints/recommendations:

  • Cubic resize is not supported
  • half_pixel_symmetric value for coordinate_tansformation_mode is not supported
  • The attribute antialias different from the default value is not supported
  • axes attribute is not supported
  • The attribute keep_aspect_ratio_policy different from the default value is not supported

Round

Applies an activation function to the input tensor

  • category: activation layer
  • input data types: float32
  • output data types: float32

Scaler

Compute the Scale and Offset of input tensor

  • category: onnx.ml
  • input data types: float32
  • output data types: float

Specific constraints/recommendations:

  • used to support for example the skit-learn algo:
    • Gradient Boosting for classification. (sklearn.ensemble.GradientBoostingClassifier)
    • Transform features by scaling each feature to a given range. (sklearn.preprocessing.MinMaxScaler)
    • Standardize features by removing the mean and scaling to unit variance. (sklearn.preprocessing.StandardScaler)
    • Scale features using statistics that are robust to outliers. (sklearn.preprocessing.RobustScaler)
    • Scale each feature by its maximum absolute value. (sklearn.preprocessing.MaxAbsScaler)

ScatterND

Scatters updates into a tensor of shape equal to shape attribute according indices (TFLite),The output of the ScatterND layer is produced by creating a copy of the input data, and then updating its values to values specified by updates at specific index positions specified by indices (ONNX)

  • category: activation function
  • input data types: float32
  • output data types: float32

Specific constraints/recommendations:

  • 5D or more indices (BATCH is not included) are not implemented, 5D or more data (BATCH is not included) are not implemented

Selu

Applies an activation function to the input tensor

  • category: activation layer
  • input data types: float32
  • output data types: float32

Shape

Returns a tensor containing the shape of the input tensor

  • category: Reshaping operation
  • input data types: float32, int8, uint8
  • output data types: int32

Specific constraints/recommendations:

  • Shape layer is not supported as the only layer in a network;Shape layer only supported with know shapes in input; when batch size is undetermined, it is set to 1
  • end attribute is not supported
  • The attribute start different from the default value is not supported

Sigmoid

Applies an activation function to the input tensor

  • category: activation layer
  • input data types: float32
  • output data types: float32

Sign

Applies an activation function to the input tensor

  • category: activation layer
  • input data types: float32
  • output data types: float32

Sin

Applies an activation function to the input tensor

  • category: activation layer
  • input data types: float32
  • output data types: float32

Sinh

Applies an activation function to the input tensor

  • category: activation layer
  • input data types: float32
  • output data types: float32

Slice

Crops the input

  • category: reshaping layer
  • input data types: float32, int8, uint8
  • output data types: float32, int8, uint8

Softmax

Applies an activation function to the input tensor

  • category: activation layer
  • input data types: float32
  • output data types: float32

Specific constraints/recommendations:

  • It is supported only for 1D tensor and only on the channel dimension
  • The value 1 is supported as the default value of the axis attribute, not the value -1

Softplus

Applies an activation function to the input tensor

  • category: activation layer
  • input data types: float32
  • output data types: float32

Softsign

Applies an activation function to the input tensor

  • category: activation layer
  • input data types: float32
  • output data types: float32

SpaceToDepth

Rearranges blocks of spatial data into depth

  • category: reshaping layer
  • input data types: float32, int8, uint8
  • output data types: float32, int8, uint8

Split

Splits a tensor into a list of sub tensors

  • category: split operator
  • input data types: float32, int8, uint8
  • output data types: float32, int8, uint8

Specific constraints/recommendations:

  • Only supported if the number of splits is equal to the size of the splitting dimension

Sqrt

Applies an activation function to the input tensor

  • category: activation layer
  • input data types: float32
  • output data types: float32

Squeeze

Reshapes a tensor

  • category: Reshaping operation
  • input data types: float32
  • output data types: float32

Sub

Performs element-wise operation

  • category: eltwise operator
  • input data types: float32
  • output data types: float32

Sum

Performs element-wise operation

  • category: eltwise operator
  • input data types: float32
  • output data types: float32

SVMClassifier

SVMClassifier layer

  • category: onnx.ml
  • input data types: float32
  • output data types: float32

Specific constraints/recommendations:

  • used to support for example the skit-learn algo:
    • C-Support Vector Classification. (sklearn.svm.SVC)
    • Nu-Support Vector Classification (sklearn.svm.NuSVC)

SVMRegressor

Support Vector Machine regression prediction and one-class SVM anomaly detection

  • category: onnx.ml
  • input data types: float32
  • output data types: float32

Specific constraints/recommendations:

  • kernel_type argument supports one of the following ‘LINEAR’,‘POLY’,‘RBF’,‘SIGMOID’.
  • used to support for example the skit-learn algo:
    • Unsupervised Outlier Detection. (sklearn.svm.OneClassSVM)

Tan

Applies an activation function to the input tensor

  • category: activation layer
  • input data types: float32
  • output data types: float32

Tanh

Applies an activation function to the input tensor

  • category: activation layer
  • input data types: float32
  • output data types: float32

ThresholdedRelu

Applies an activation function to the input tensor

  • category: activation layer
  • input data types: float32
  • output data types: float32

Tile

Constructs a tensor by tiling the input tensor

  • category: reshaping layer
  • input data types: float32, int8, uint8
  • output data types: float32, int8, uint8

Specific constraints/recommendations:

  • tiling on batch-dimension is not supported

TopK

Retrieve the top-K largest or smallest elements along a specified axis

  • category: topK operator
  • input data types: float32, int8, uint8
  • output data types: float32, int8, uint8

Transpose

Permutes the dimensions of the input according to a given pattern

  • category: reshaping layer
  • input data types: float32, int8, uint8
  • output data types: float32, int8, uint8

Specific constraints/recommendations:

  • transposing the batch dimension is not supported
  • perm attribute must have a length equal to the rank of the input

TreeEnsembleClassifier

Tree ensemble classifier. Returns the top class for each of N inputs.

  • category: onnx.ml
  • input data types: float32
  • output data types: float32

Specific constraints/recommendations:

  • This layer supports compression levels.
    • none: disable compresion and optimization
    • lossless (default): enable optimization only
    • low, medium, high: enable optimization and weight compression
  • used to support for example the skit-learn algo:
    • A random forest classifier (sklearn.ensemble.RandomForestClassifier)
    • An extra-trees classifier (sklearn.ensemble.ExtraTreesClassifier)
    • Gradient Boosting for classification. (sklearn.ensemble.GradientBoostingClassifier)
    • Histogram-based Gradient Boosting Classification Tree. (sklearn.ensemble.HistGradientBoostingClassifier)
    • A decision tree classifier. (sklearn.tree.DecisionTreeClassifier)
  • For detailed information, see Machine Learning support (ONNX-ML operators) [ONNX-ML] article

TreeEnsembleRegressor

Tree Ensemble regressor. Returns the regressed values for each input in N.

  • category: onnx.ml
  • input data types: float32
  • output data types: float32

Specific constraints/recommendations:

  • Warning: This operator is not supported for C code generation, it is only used during iForest generation. Not all arguments are supported.
  • used to support for example the skit-learn algo:
    • A Bagging classifier (sklearn.ensemble.BaggingClassifier)
    • An AdaBoost classifier (sklearn.ensemble.AdaBoostClassifier)
    • A Bagging regressor (sklearn.ensemble.BaggingRegressor)
    • A random forest regressor (sklearn.ensemble.RandomForestRegressor)
    • An extra-trees regressor (sklearn.ensemble.ExtraTreesRegressor)
    • Gradient Boosting for regression (sklearn.ensemble.GradientBoostingRegressor)
    • Histogram-based Gradient Boosting Regression Tree (sklearn.ensemble.HistGradientBoostingRegressor)
    • Isolation Forest Algorithm (sklearn.ensemble.IsolationForest)
  • For detailed information, see Machine Learning support (ONNX-ML operators) [ONNX-ML] article

Unsqueeze

Reshapes a tensor

  • category: Reshaping operation
  • input data types: float32
  • output data types: float32

Upsample

Resize the input tensor: it calculates every value in the output tensor as a weighted average of neighborhood

  • category: resizing operation
  • input data types: float32
  • output data types: float32

Specific constraints/recommendations:

  • Cubic resize is not supported
  • half_pixel_symmetric value for coordinate_tansformation_mode is not supported
  • The attribute antialias different from the default value is not supported
  • axes attribute is not supported
  • The attribute keep_aspect_ratio_policy different from the default value is not supported

Where

Where layer

  • category: generic layer
  • input data types: float32, int8, uint8, int16, uint16, int32, uint32, bool
  • output data types: float32, int8, uint8, int16, uint16, int32, uint32, bool

Xor

Performs boolean element-wise operation

  • category: eltwise operator
  • input data types: bool
  • output data types: bool

ZipMap

Creates a map from the input and the attributes.

  • category: onnx.ml
  • input data types: float32
  • output data types: float32

Specific constraints/recommendations:

  • used to support for example the skit-learn algo:
    • A decision tree classifier. (sklearn.tree.DecisionTreeClassifier)