docs.unity3d.com
    Show / Hide Table of Contents

    Supported ONNX operators

    The table shows which Open Neural Network Exchange (ONNX) operators Sentis supports, and which data types Sentis supports for each back end type.

    When you import a model, each ONNX operator in the model graph becomes a Sentis layer. A Sentis layer has the same name as the ONNX operator, unless the table shows the operator maps to a different layer. Refer to How Sentis optimizes a model for more information.

    If you use a GPU Worker and the model has a layer that isn't supported, or has a layer that uses an input tensor data type that isn't supported, Sentis falls back to using BackendType.CPU for the layer, which uses Burst. If BackendType.CPU isn't supported, Sentis falls back to using a slower CPU implementation of the layer that doesn't use Burst.

    Refer to the API reference for more information on each Sentis layer.

    Supported operators

    ONNX operators

    Name Supported data types with BackendType.CPU Supported data types with BackendType.GPUCompute Supported data types with BackendType.GPUPixel Notes
    Abs float, int float, int float
    Acos float float float
    Acosh float float float
    Add float, int float, int float
    And int int Not supported
    ArgMax float, int float, int Not supported
    ArgMin float, int float, int Not supported
    Asin float float float
    Asinh float float float
    Atan float float float
    Atanh float float float
    AveragePool float float (1D and 2D only) float (2D only) The ceil_mode and count_include_pad parameters aren't supported.
    BatchNormalization float float float The epsilon, momentum, spatial and training_mode parameters aren't supported.
    Bernoulli float float Not supported
    Cast float, int float, int Not supported
    CastLike float, int float, int Not supported
    Ceil float float float
    Celu float float float
    Clip float float float
    Compress float, int Not supported Not supported
    Concat float, int float, int float
    Constant - - - The sparse_value parameter isn't supported.
    ConstantOfShape float, int float, int float
    Conv float float (1D, 2D and 3D) float (2D only) The kernel_shape parameter isn't supported.
    ConvTranspose float float (2D only) float (2D only) The dilations, group, kernel_shape and output_shape parameters aren't supported.
    Cos float float float
    Cosh float float float
    CumSum float, int float, int Not supported
    DepthToSpace float float float
    Div float, int float, int float
    Dropout - - - The operator maps to the Sentis layer Identity
    Einsum float float (1 or 2 inputs only) Not supported
    Elu float float float
    Equal float, int float, int Not supported
    Erf float float float
    Exp float float float
    Expand float, int float, int float
    Flatten float, int float, int float
    Floor float float float
    Gather float, int float, int Not supported
    GatherElements float, int float, int Not supported
    GatherND float, int float, int Not supported
    Gemm float float float
    GlobalAveragePool float float float
    GlobalMaxPool float float float
    Greater float, int float, int Not supported
    GreaterOrEqual float, int float, int Not supported
    Hardmax float float Not supported
    HardSigmoid float float float
    HardSwish float float float
    Identity float, int float, int float
    InstanceNormalization float float Not supported
    IsInf float float Not supported
    IsNaN float float Not supported
    LeakyRelu float float float
    Less float, int float, int Not supported
    LessOrEqual float, int float, int Not supported
    Log float float float
    LogSoftmax float float float
    LRN float Not supported Not supported
    LSTM float float Not supported
    MatMul float float float (2D only)
    Max float, int float, int float
    MaxPool float float (1D and 2D only) float (2D only) The ceil_mode, dilations and storage_order parameters aren't supported.
    Mean float float float
    Min float, int float, int float
    Mod float, int float, int float
    Mul float, int float, int float
    Multinomial float Not supported Not supported
    Neg float, int float, int float
    NonMaxSuppression float Not supported Not supported
    NonZero float, int Not supported Not supported
    Not int int Not supported
    OneHot (int, int, int) - outputs int (int, int, int) - outputs int Not supported
    Or int int Not supported
    Pad float float float
    Pow (float float) or (float, int) (float float) or (float, int) float
    PRelu float float Not supported
    RandomNormal float float Not supported
    RandomNormalLike float float Not supported
    RandomUniform float float Not supported
    RandomUniformLike float float Not supported
    Range float float Not supported
    Reciprocal float float float
    ReduceL1 float, int float, int float
    ReduceL2 float float float
    ReduceLogSum float float float
    ReduceLogSumExp float float float
    ReduceMax float, int float, int float
    ReduceMean float float float
    ReduceMin float, int float, int float
    ReduceProd float, int float, int float
    ReduceSum float, int float, int float
    ReduceSumSquare float, int float, int float
    Relu float float float
    Reshape float, int float, int float
    Resize float float (2D and 3D only) float (2D only) The cubic_coeff_a, exclude_outside, extrapolation_value and roi parameters aren't supported.
    RoiAlign float float Not supported The coordinate_transformation_mode and mode parameters aren't supported.
    Round float float float
    Scatter (deprecated) float, int float, int Not supported The operator maps to the Sentis layer ScatterElements.
    ScatterElements float, int float, int (no ScatterReductionMode) Not supported
    ScatterND float float Not supported
    Selu float float float
    Shape - - -
    Shrink float float Not supported
    Sigmoid float float float
    Sign float, int float, int Not supported
    Sin float float float
    Sinh float float float
    Size - - -
    Slice float, int float, int float
    Softmax float float float
    Softplus float float float
    Softsign float float float
    SpaceToDepth float float float
    Split float, int float, int float
    Sqrt float float float
    Squeeze float, int float, int float
    Sub float, int float, int float
    Sum float, int float, int Not supported
    Tan float float float
    Tanh float float float
    ThresholdedRelu float float float
    Tile float, int float, int Not supported
    TopK float Not supported Not supported
    Transpose float, int float, int float
    Trilu float, int float, int Not supported
    Unsqueeze float, int float, int float
    Upsample (deprecated) float float (2D and 3D only) float (2D only) The operator maps to the Sentis layer Resize.
    Where (int, float, float) - outputs float, (int, int, int) - outputs int (int, float, float) - outputs float, (int, int, int) - outputs int Not supported
    Xor int int Not supported

    Sentis-only layers

    Sentis might create the following layers when it optimizes the model.

    Name Supported data types with BackendType.CPU Supported data types with BackendType.GPUCompute Supported data types with BackendType.GPUPixel
    Dense float float Not supported
    MatMul2D float float float
    Relu6 float float float
    Square float float float
    Swish float float float

    Unsupported operators

    The following ONNX operators aren't supported in the current version of Sentis.

    • BitShift
    • ConcatFromSequence
    • ConvInteger
    • DequantizeLinear
    • Det
    • DynamicQuantizeLinear
    • EyeLike
    • If
    • GRU
    • Loop
    • LpPool
    • MatMulInteger
    • MaxUnpool
    • MeanVarianceNormalization
    • NegativeLogLikelihoodLoss
    • Optional
    • OptionalGetElement
    • OptionalHasElement
    • QLinearConv
    • QLinearMatMul
    • QuantizeLinear
    • ReverseSequence
    • RNN
    • Scan
    • SequenceAt
    • SequenceConstruct
    • SequenceEmpty
    • SequenceErase
    • SequenceInsert
    • SequenceLength
    • SoftmaxCrossEntropyLoss
    • SplitToSequence
    • StringNormalizer
    • TfIdfVectorizer
    • Unique

    Additional resources

    • ONNX operator schemas
    • Export an ONNX file from a machine learning framework
    • Profile a model
    Back to top
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023