1# MindSpore Lite Kit算子支持列表 2 3<!--Kit: MindSpore Lite Kit--> 4<!--Subsystem: AI--> 5<!--Owner: @zhuguodong8--> 6<!--Designer: @zhuguodong8; @jjfeing--> 7<!--Tester: @principal87--> 8<!--Adviser: @ge-yafang--> 9 10本文档介绍了MindSpore Lite Kit与ONNX Opset18相比所支持的CPU后端算子列表以及对应关系。在使用模型转换工具将ONNX模型转换为ms模型进行部署时,通过查询此表可以知道MindSpore Lite Kit所支持的常用ONNX算子,以确保模型转换成功。 11 12| MindSpore Lite算子名称 | 算子功能 | 对应ONNX算子名称 | 13| ---------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | 14| Abs | 逐元素计算绝对值 | Abs | 15| Activation | 激活函数 | Celu<br/>Clip<br/>Elu<br/>Gelu<br/>HSigmoid<br/>LeakyRelu<br/>PRelu<br/>Relu<br/>Sigmoid<br/>SoftMax<br/>SoftPlus<br/>SoftSign<br/>Tanh | 16| AddFusion | 逐元素计算加法 | Add | 17| ArgMaxFusion | 求某一维度最大值 | ArgMax | 18| AvgPoolFusion | 平均池化 | AveragePool<br/>GlobalAveragePool<br/>GlobalMaxPool<br/>MaxPool | 19| BatchNorm | 批量归一化 | BatchNormalization | 20| BroadcastTo | 扩维 | Expand | 21| Cast | 数据类型转换 | Cast | 22| Ceil | 向上取整 | Ceil | 23| Clip | 限制元素范围 | Clip | 24| Concat | 拼接张量 | Concat | 25| Conv2DFusion | 2D卷积 | Conv | 26| Cos | 逐元素计算余弦 | Cos | 27| CumSum | 累计元素和 | CumSum | 28| DepthToSpace | 将深度数据重新排列到空间维度中 | DepthToSpace | 29| DivFusion | 逐元素除法 | Div | 30| Eltwise | 元素级求和 | Sum | 31| Equal | 判断输入是否相等 | Equal | 32| Erf | 误差函数 | Erf | 33| ExpFusion | 逐元素取指数 | Exp | 34| Flatten | 数据按维度展开 | Flatten | 35| Floor | 向下取整 | Floor | 36| FusedBatchNorm | 对输入做标准化 | BatchNormalization | 37| Gather | 沿单一维度收集指定索引位置的元素 | Gather | 38| GatherD | 将输入tensor中的元素根据索引tensor进行收集 | GatherElements | 39| GatherNd | 将输入张量的切片聚合成具有indices指定维度的新张量 | GatherND | 40| InstanceNorm | 实例归一化 | InstanceNormalization | 41| Log | 逐元素求对数 | Log | 42| LogicalNot | 元素级逻辑非 | Not | 43| LogSoftmax | 对输入向量进行softmax操作,然后再对softmax结果取对数 | LogSoftmax | 44| LRN | 局部响应标准化,用于防止数据过度拟合 | LRN | 45| MatMulFusion | 对2个输入做矩阵乘法运算;使用输入张量、一组学习的权重计算内积,并添加偏差 | Gemm<br/>MatMul | 46| Maximum | 取元素级最大值 | Max | 47| MaxPoolFusion | 最大池化 | GlobalMaxPool<br/>MaxPool | 48| Minimum | 取元素级最小值 | Min | 49| Mod | 返回除法元素的余数 | Mod | 50| MulFusion | 逐元素乘法 | Mul | 51| Neg | 逐元素求负数 | Neg | 52| PadFusion | 将输入张量加上指定的 padding,使其达到指定的大小 | Pad | 53| PowFusion | 逐元素求幂 | Pow | 54| PReLUFusion | PRelu激活函数 | PRelu | 55| Range | 生成某个区间内的元素 | Range | 56| Reciprocal | 返回倒数 | Reciprocal | 57| Reshape | 改变张量形状,总元素个数不变 | Reshape | 58| Round | 四舍五入到最接近的整数数值 | Round | 59| ScatterNdUpdate | 使用给定值以及输入索引更新输入数据的值 | ScatterND | 60| Shape | 获得张量shape | Shape | 61| Sin | 逐元素计算正弦 | Sin | 62| Size | 获取张量维度大小 | Size | 63| SliceFusion | 张量切片操作 | Slice | 64| Softmax | 归一化操作 | Softmax | 65| SpaceToDepth | 高度和宽度维度的值移至深度维度 | SpaceToDepth | 66| Sqrt | 逐元素开根号 | Sqrt | 67| Squeeze | 移除维度为1的维度 | Squeeze | 68| StridedSlice | Tensor切片 | Slice | 69| SubFusion | 逐元素相减 | Sub | 70| TileFusion | 平铺给定矩阵 | Tile | 71| TopKFusion | 从输入张量中返回top K个元素 | TopK | 72| Transpose | Tensor转置 | Transpose | 73| Tril | 下三角矩阵 | Trilu(属性upper=0) | 74| Triu | 上三角矩阵 | Trilu(属性upper=1) | 75| Unsqueeze | 将输入张量添加一个新的维度 | Unsqueeze | 76| Where | 元素选择 | Where | 77 78