mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-05-14 20:48:00 +00:00
* Update required operators for prebuilt package to add opsets 14 and 15. Add helper script to check if the prebuilt package will support the model and if not why not. * Add support for multiple opsets being specified on a single line in the required operators config. This makes it easier to update the pre-built package config. It's also required for validation tools to work as they only have a single opset from the model and not per-operator opsets. If we only list the incremental ops we could merge in the ops from the previous opset, but that wouldn't give a way to drop an operator from being supported. Left the info on which ops changed though so we have a better feel for the cost of supporting each opset.
46 lines
3 KiB
Text
46 lines
3 KiB
Text
# Android package for ORT Mobile operator and type reduction configuration
|
|
#
|
|
# The list of operators was generated from:
|
|
# - the ONNX operators use by the tf2onnx tflite converter
|
|
# - the operators used in a set of tflite models from tfhub, the tflite examples, and the mlperf mobile models
|
|
# - models were optimized with optimizations set to 'basic', 'extended' and 'all'
|
|
# - see the readme file for full details
|
|
|
|
# allow float, int8, uint8. operators that manipulate shapes or indices have int32 and int64 enabled internally.
|
|
!globally_allowed_types;float,int8_t,uint8_t
|
|
|
|
# ops used by the tf2onnx tflite converter.
|
|
ai.onnx;12,13,14,15;Abs,Add,And,ArgMax,ArgMin,AveragePool,Cast,Ceil,Clip,Concat,ConstantOfShape,Conv,ConvTranspose,Cos,CumSum,DepthToSpace,DequantizeLinear,Div,DynamicQuantizeLinear,Elu,Equal,Exp,Expand,Flatten,Floor,Gather,GatherND,Gemm,Greater,GreaterOrEqual,Identity,If,LRN,LeakyRelu,Less,LessOrEqual,Log,LogSoftmax,Loop,MatMul,Max,MaxPool,Mean,Min,Mul,Neg,NonMaxSuppression,NonZero,Not,Or,PRelu,Pad,Pow,QuantizeLinear,Range,Reciprocal,ReduceMax,ReduceMean,ReduceMin,ReduceProd,ReduceSum,Relu,Reshape,Resize,ReverseSequence,Round,ScatterND,Shape,Sigmoid,Sin,Size,Slice,Softmax,SpaceToDepth,Split,Sqrt,Squeeze,Sub,Sum,Tanh,ThresholdedRelu,Tile,TopK,Transpose,Unique,Unsqueeze,Where
|
|
|
|
# other ops found in test models
|
|
ai.onnx;12,13,14,15;Erf,GlobalAveragePool,InstanceNormalization,HardSigmoid,MatMulInteger,QLinearConv,QLinearMatMul
|
|
|
|
# Control flow ops
|
|
# - If and Loop are covered by the tflite converter list
|
|
# - Scan tends to be used in speech models (it's more efficient than Loop) so include it for support of those
|
|
ai.onnx;12,13,14,15;Scan
|
|
|
|
# Changed ONNX ops by opset version for the above ops. This list is to provide context as to how much was added
|
|
# for each additional opset we support.
|
|
#
|
|
# opset 13
|
|
# Abs,Add,ArgMax,ArgMin,Cast,Ceil,Clip,Concat,DepthToSpace,DequantizeLinear,Div,Equal,Erf,Exp,Expand,Flatten,Floor,
|
|
# Gather,GatherND,Gemm,Greater,Identity,If,LRN,Less,Log,LogSoftmax,Loop,MatMul,Max,Mean,Min,Mul,Neg,NonZero,Pad,
|
|
# Pow,QuantizeLinear,Reciprocal,ReduceMax,ReduceMean,ReduceMin,ReduceProd,ReduceSum,Relu,Reshape,Resize,
|
|
# ScatterND,Shape,Sigmoid,Size,Slice,Softmax,SpaceToDepth,Split,Sqrt,Squeeze,Sub,Sum,Tanh,Tile,Transpose,Unsqueeze
|
|
# opset 14
|
|
# Add,CumSum,Div,Identity,Mul,Relu,Reshape,Sub
|
|
# opset 15
|
|
# Pow,Shape
|
|
|
|
|
|
# internal ops added by optimizers
|
|
# Note: LayerNormalization is an internal op even though it is (incorrectly) registered in the ONNX domain.
|
|
ai.onnx;1;LayerNormalization
|
|
com.microsoft;1;DynamicQuantizeMatMul,FusedConv,FusedGemm,FusedMatMul,Gelu,MatMulIntegerToFloat,NhwcMaxPool,QLinearAdd,QLinearAveragePool,QLinearConv,QLinearGlobalAveragePool,QLinearMul,QLinearSigmoid
|
|
|
|
# NHWC transformer also uses this, so assuming it's valuable enough to include
|
|
com.microsoft;1;QLinearLeakyRelu
|
|
|
|
# Quantized contrib ops that are registered but no usage was found. Excluding for now.
|
|
# com.microsoft;1;DynamicQuantizeLSTM,QAttention
|