# 算子支持列表

# 小程序AI推理负责以最优化的方式运行你的模型,并在可用时利用特定设备的硬件加速。此页面提供关于目前各设备支持哪些 Op 的信息。

注意:
1)以下算子若无特殊备注说明,一般符合 ONNX 算子定义,参考:https://github.com/onnx/onnx/blob/main/docs/Operators.md
2)目前 GPU 推理暂未对外开放,敬请期待。

Operator CPU iOS NPU iOS GPU Android GPU 备注
Activation 详细支持的 Activation 种类参考下方 Activation 列表
ArgMax
ArgMin
BatchNorm
Bias
Binary 详细支持的 Binary 操作种类参考下方 Binary 列表
Bucketize
Cast
Concat
Const
ConstOfShape
Conv1D
Conv1DTranspose
Conv2D
Conv2DTranspose
Conv3D
Conv3DTranspose
Crop
CropAndResize
CumSum
DepthToSpace
Dropout
ElementWise
Expand
FakeQuantize
Flatten
FullyConnected
Gather
GatherND
Gemm
GlobalPooling
GroupNorm
Gru
InstanceNorm
LayerNorm
LpNorm
Lrn
Lstm
MatMul
NMS
Normalize
OneHot
Pad
Permute
Pooling1D
Pooling2D
Pooling3D
PriorBox
Range
Reduce
Reshape
Resize2D
Rnn
Scale
ScatterND
Shape
ShuffleChannel
SpaceToDepth
Split
Slice
Softmax
Squeeze
Tile
TopK
Unary 详细支持的 Unary 种类参考下方 Unary 列表
Unsqueeze
Where


# Activation列表:

名称 描述
None f(x) = x
Abs f(x) = [x]
Clip f(x) = min(max(x, constA), constB)
HardSigmoid f(x) = min(max(x * constA + constB, 0), 1)
HardSwish f(x) = min(max(x * constA + constB, 0), 1) * x
HSigmoid f(x) = (ReLU6(x + 3) / 6)
HSwish f(x) = (ReLU6(x + 3) / 6) * x
LeakyReLU f(x) = min(x, 0) * constA + max(x, 0)
Linear f(x) = x * constA + constB
PReLU f(x) = min(x, 0) * weight + max(x, 0) (Caffe1's)
ReLU f(x) = max(x, 0)
ReLUN f(x) = min(x, 0) * constA + min(max(x, 0), constB)
SELU f(x) = (x >= 0 ? x : (exp(x)-1) * constA) * constB
Sigmoid f(x) = 1 / (1 + exp(-x)), a.k.a. Logistic
SoftPlus f(x) = log(1 + exp(x * constB)) * constA
SoftSign f(x) = x / (1 + |x|)
Swish f(x) = x / (1 + exp(-x * constA))
Tanh f(x) = tanh(x * constB) * constA
Threshold f(x) = (x > constA ? 1 : 0)
ThrReLU f(x) = (x > constA ? x : 0) (Thresholded ReLU)


# Binary列表:

名称 描述
Add f(x, y) = x + y
Sub f(x, y) = x - y
Mul f(x, y) = x * y
Div f(x, y) = x / y
Pow f(x, y) = pow(x, y)
Max f(x, y) = max(x, y)
Min f(x, y) = min(x, y)
Mean f(x, y) = (x + y) / 2
And f(x, y) = x & y
Or f(x, y) = x | y
Xor f(x, y) = x ^ y
BitShiftLeft f(x, y) = x << y
BitShiftRight f(x, y) = x >> y
Equal f(x, y) = (x == y)
NotEqual f(x, y) = (x != y)
Greater f(x, y) = (x > y)
GreaterEqual f(x, y) = (x >= y)
Less f(x, y) = (x < y)
LessEqual f(x, y) = (x <= y)


# Unary列表:

名称 描述
Abs f(x) = [x]
Neg f(x) = -x
Celi f(x) = ceil(x)
Floor f(x) = floor(x)
Reciprocal f(x) = 1 / x
Sqrt f(x) = sqrt(x)
Exp f(x) = exp(x)
Log f(x) = log(x)
Erf f(x) = erf(x)
Acos f(x) = acos(x)
Acosh f(x) = acosh(x)
Cos f(x) = cos(x)
Cosh f(x) = cosh(x)
Sin f(x) = sin(x)
Sinh f(x) = sinh(x)
Atan f(x) = atan(x)
Atanh f(x) = atanh(x)
Tan f(x) = tan(x)
Tanh f(x) = tanh(x)
ExpM1 f(x) = expm1(x)
Log1P f(x) = log1p(x)