ONNX算子简介
详细英文介绍见ONNX算子
(算子较多,善用Ctrl+F查找)
序号 | 算子 | 含义 | 参数 |
---|---|---|---|
1 | Abs | 求绝对值 | 【输入】input:输入Tensor,float32 【约束】无限制 【输出】**output:输出Tensor |
2 | Acos | 反余弦 | 【输入】input:输入Tensor,数值范围[-1, 1],类型:float32 【约束】无限制 【输出】**output:输出Tensor,数值范围[0, pi],类型与x输入相同 |
3 | Add | 二元点加 | 【输入】 - A:输入Tensor,类型:float32,第1个操作数 - B:输入Tensor,类型:float32,第2个操作数 【约束】支持两组输入的维度不一致,进行广播操作(广播即维度补齐),目前支持以下几种广播场景: - NCHW+NCHW(备注, 两个维度相同tensor) - NCHW+scalar - NCHW+W, CHW+W, HW+W(备注, W维度做broadcast) - NCHW + NCH1, CHW + CH1, HW + H1 - CHW + C1W(备注,H维度做broadcast) 对于两个输入维度个数不相同的场景,需要将维度补齐到四维。例如,x.shape=(1, 5, 6, 7) 和 y.shape=(6, 7)需要将y的维度补齐到4维,即y.shape=(1, 1, 6, 7)。说明:两个Tensor的输入顺序可以互换。 【输出】C:输出Tensor,类型同B |
4 | And | 取与运算 | 【输入】 - A:输入Tensor,类型:bool - B:输入Tensor,类型:bool 【约束】input输入不支持NCHW格式数据 【输出】output:输出Tensor,类型:bool |
5 | ArgMax | 在指定轴上找到最大值索引 | 【输入】data:输入Tensor,类型:float32 【参数】 - axis:int,default值为0,取值范围[-r, r-1],r = rank(data) - keepdims:int,default值为1 【输出】**output:输出Tensor,类型:int64 |
6 | Asin | 反正弦 | 【输入】input:输入Tensor,数值范围[-1, 1],类型:float32 【约束】无限制 【输出】output:输出Tensor,数值范围[-pi/2, pi/2],类型与input输入相同 |
7 | Atan | 反正切 | 【输入】input:输入Tensor,类型:float32 【约束】无限制 【输出】output:输出Tensor,类型与input输入相同 |
8 | AveragePool | 平均池化 | 【输入】X:输入Tensor,类型:float32【参数】 - auto_pad:optional, string,pad的计算模式,默认是NOTSET - ceil_mode:optional, int,使用ceil(向上取整)还是floor(向下取整)计算输出维度,默认是0(ceil) - count_include_pad:optional,int,计算边缘时是否包含pad,默认是0,不包含pad - kernel_shape:list of ints,每个值对应相应维度的窗口大小 - pads:list of ints,每个值对应相应维度的pad值,默认值为0 - strides:list of ints,其中每个值对应相应维度的滑动步长,默认值为1 【约束】 - auto_pad参数不支持SAME_UPPER,SAME_LOWER - count_include_pad参数只支持默认值 【输出】Y:输出Tensor,类型与X输入相同 |
9 | BatchNormalization | 对输入做标准化 | 【输入】 - X:输入Tensor,类型:float32 - scale:输入Tensor,类型:float32,用于缩放 - B:输入Tensor,类型:float32,偏差 - mean:输入Tensor,类型:float32,用于推理总体均值 - var:输入Tensor,类型:float32,用于推理总体方差 - training_mode:输入Tensor,optional,训练模式 【参数】 - epsilon:float32,在X的方差中添加的一个小的浮点数,默认值是1e-05 - momentum:float32,计算mean和var的因子,默认值为0.9 - spatial:int,计算mean和var的方式,默认值1 【约束】 - 不支持训练场景 - 不支持training_mode输入 - 不支持output_mean、output_var、saved_mean、saved_var输出 - opset7中不支持spatial设置 【输出】 - Y:输出Tensor,和X输入有相同的维度 - output_mean:训练模式下是滑动均值,非训练模式下是估计均值 - output_var:训练模式下是滑动方差,非训练模式下是估计方差 - saved_mean:已保存的均值 - saved_var:已保存的均值 |
10 | Cast | 数据类型转换 | 【输入】input:输入Tensor,类型:float32,bool,int32,uint8【参数】to:数据类型int - FLOAT = 1 - UINT8 = 2 - INT8 = 3 - UINT16 = 4 - INT16 = 5 - INT32 = 6 - INT64 = 7 - STRING = 8 - BOOL = 9 - FLOAT16 = 10 - DOUBLE = 11 - UINT32 = 12 【约束】支持下面类型转换: - fp16 -> fp32 - fp32 -> fp16 - u8 -> fp16 - fp16 -> u8 - int32 -> fp32 - fp32->int32 - fp16 -> int8 - int8 -> fp16 - in32 -> fp16 - fp16 -> int32 - bool -> fp16 - fp16 -> bool 【输出】output:输出Tensor |
11 | Ceil | 向上取值 | 【输入】X:输入Tensor,类型:float32 【约束】无 【输出】output:输出Tensor,类型与input输入相同 |
12 | Clip | 将输入限制在一个区间中 | 【输入】 - input:输入Tensor,类型:float32 - min:Scalar Tensor,optional,类型:float32,区间最小值 - max:Scalar Tensor,optional,类型:float32,区间最大值 【参数】在opset 7~10中min和max是参数【约束】 - min输入必须是常量 - max输入必须是常量 【输出】output:输出Tensor,类型与input输入相同 |
13 | Concat | 数据按维度拼接 | 【输入】 - inputs:List of tensors,类型:float32,int32 【参数】 - axis:int,轴参数,控制需要拼接的数据轴,负值表示从维度最后一位往前数 【约束】无 【输出】concat_result:拼接之后的Tensor,类型:float32,int32 |
14 | Constant | 输出1个常量Tensor | 【输入】无【参数】 - sparse_value:稀疏类型的输出值 - value:Tensor,输出Tensor的值 - value_float:float32类型的标量输出Tensor的值 - value_floats:list of floats,float32类型的1D输出Tensor的值 - value_int:int,int32类型的标量输出Tensor的值 - value_ints:list of ints,int32类型的1D输出Tensor的值 - value_string:string,string类型的标量UTF-8输出Tensor的值 - value_strings:list of strings,string类型的1D UTF-8输出Tensor的值 【约束】 - 不支持sparse_value参数 - 不支持value_string参数 - 不支持value_strings参数 【输出】output:输出Tensor,和提供的Tensor具有相同的值 |
15 | ConstantOfShape | 根据给定的值和维度,生成1个Tensor | 【输入】input:1-D Tensor,类型:int32,uint8 【参数】value:optional,0-D Tensor,需要填充的值,默认为0,默认类型float32 【约束】无 【输出】output:输出Tensor,类型同value |
16 | Conv | 卷积 | 【输入】 - X:输入Tensor,类型:float32 - W:输入Tensor,具有维度(M C/group kH kW),其中C是channels的数量,kH和kW是卷积核的高和宽,M是feature maps的数量 - B:optional,1D 常量Tensor,卷积计算时添加的偏置 【参数】 - auto_pad:optional, string,pad的计算模式,默认是NOTSET - dilations:optional,list of ints,每个值对应卷积核对应空间轴上的扩张值,默认值1 - group:optional,int,组的数量 - kernel_shape:list of ints,卷积核的维度 - pads:list of ints,每个值对应相应维度的pad值 - list of ints,每个值对应相应维度的滑动步长,默认值为1 【约束】auto_pad参数不支持SAME_UPPER, SAME_LOWER*【输出】Y:输出Tensor,类型同X |
17 | ConvTranspose | 反卷积 | 【输入】 - X:输入Tensor,类型:float32 - W:输入Tensor,具有维度(M C/group kH kW),其中C是channels的数量,kH和kW是卷积核的高和宽,M是feature maps的数量 - B:optional,1D 常量Tensor,卷积计算时添加的偏置 【参数】 - auto_pad:optional, string,pad的计算模式,默认是NOTSET - dilations:optional,list of ints,每个值对应卷积核对应空间轴上的扩张值,默认值1 - group:optional,int,组的数量 - kernel_shape:list of ints,卷积核的维度 - output_padding:为输出坐标指数较高的边添加的额外值 - output_shape:输出的shape - pads:list of ints,每个值对应相应维度的pad值 - list of ints,每个值对应相应维度的滑动步长,默认值为1 【约束】 - auto_pad参数不支持SAME_UPPER, SAME_LOWER - output_padding参数不支持 - W输入必须为常量 *【输出】Y:输出Tensor,类型同X输入 |
18 | Cos | 计算余弦 | 【输入】input:输入Tensor,类型:float32【约束】无限制【输出】output:输出Tensor,类型与x输入相同 |
19 | DepthToSpace | 重组数据,根据blocksize | 【输入】input:输入Tensor,类型:float32【参数】 - blocksize:数据类型:int - mode: 数据类型 string 【约束】mode仅支持DCR CRD两种模式【输出】output:输出Tensor,类型与x输入相同 |
20 | Div | 做除法运算 | 【输入】 - A:输入Tensor,类型:float32,int32 - B:输入Tensor,类型:float32,int32 【约束】对于两个输入维度个数不相同的场景,需要将维度补齐到四维。例如,x.shape=(1, 5, 6, 7) 和 y.shape=(6, 7)需要将y的维度补齐到4维,即y.shape=(1, 1, 6, 7)。 【输出】C:输出Tensor,类型与x输入相同 |
21 | Elu | 根据f(x) = alpha * (exp(x) - 1.) 该公式做计算 | 【输入】X:输入Tensor,类型:float32 【参数】alpha:float32,缺省值为1.0 【约束】无 【输出】Y:输出Tensor,类型与x输入相同 |
22 | Equal | 判断输入是否相等 | 【输入】 - A:输入Tensor,类型:uint8,float32,bool,int32(int32只支持标量) - B:输入Tensor,类型:uint8,float32,bool,int32(int32只支持标量) 【约束】暂不支持广播场景【输出】C:输出Tensor,类型 bool |
23 | Erf | 对输入数据逐个元素做error function计算 | 【输入】x:输入Tensor,类型:float32 【约束】无限制 【输出】y:输出Tensor,类型与x输入相同 |
24 | Exp | 指数函数,output = e^input | 【输入】input:输入Tensor,类型:float32,double 【约束】无限制 【输出】output:输出Tensor,类型与x输入相同 |
25 | Expand | 根据指定的shape做广播 | 【输入】 - input:输入Tensor,类型:float32,int8, uint8, bool - shape:输入Tensor,类型:int32,1D的tensor,指定输出的shape 【约束】 - 支持任意满足broadcast条件的Broadcast场景 - 对于需要插broadcastTo算子的Add、Sub、Mul、Div、Max,不支持量化功能 - 支持在Kirin 9000及以后的芯片上运行 【输出】output:输出Tensor,类型与x输入相同 |
26 | Flatten | 数据按维度展开 | 【输入】input:输入 Tensor,类型float32 【参数】axis:int,标识数据在哪个维度上展开,值的范围[-r, r],r是输入Tensor的维度个数,负值表示从最后1个维度往回计算 【约束】axis参数必须为1 【输出】output:2-D Tensor,类型float32 |
27 | Floor | 对输入进行向下取整 | 【输入】X:输入Tensor,类型:float32 【约束】无 【输出】Y:输出Tensor,类型同X输入 |
28 | Gather | 根据输入的indices,从data中获取entry组成输出tensor | 【输入】 - data:输入Tensor,类型:float32, int32 - indices:输入Tensor,数据类型int32 【参数】axis:int, [-r, r-1] ,r = rank(data)【约束】无【输出】output:输出Tensor,类型同data输入 |
29 | Gemm | 通用矩阵乘法,Y = alpha A’ B’ + beta * C | 【输入】 - A:输入Tensor,类型:float32 - B:输入Tensor,类型:float32 - C:输入Tensor,类型:float32 【参数】 - alpha:float32,A B的标量乘数,默认值1.0 - beta:float32,C的标量乘数,默认值1.0 - transA:int,A输入是否需要转置,默认值0 - transB:int,B输入是否需要转置,默认值0 【约束】 - transA参数不支持true - 输入B和C只支持常量 - 如果A是MK,B是KN,C可以是N或1N或不指定 【输出】Y:输出Tensor,维度是(M, N) |
30 | GlobalAveragePool | 对输入进行全局平均池化 | 【输入】X:输入Tensor,类型:float32,维度是(N C H W) 【约束】无* 【输出】Y:输出Tensor,类型同X输入 |
31 | GlobalMaxPool | 对输入进行全局最大池化 | 【输入】X:输入Tensor,类型float32,维度是(N C H W) 【约束】无* 【输出】Y:输出Tensor,类型同X输入 |
32 | Greater | 逐个元素比较哪个大 | 【输入】 - A:输入Tensor,类型float32, - B:输入Tensor,类型float32, 【约束】无 【输出】C:输出Tensor,类型 bool |
33 | InstanceNormalization | 按照下面公式做归一化运算y = scale * (x - mean) / sqrt(variance + epsilon) + B | 【输入】 - input:输入4D Tensor,类型float32, - scale:输入Tensor,类型float32, - B:输入Tensor,类型float32, 【参数】alpha:float32,避免除零错误,默认值1e-05 【约束】无 【输出】output:输出Tensor,类型同input输入 |
34 | LeakyRelu | 对输入进行LeakyRelu激活函数计算f(x) = alpha * x for x < 0, f(x) = x for x >= 0 | 【输入】X:输入Tensor,类型:float32 【参数】alpha:float32,泄漏系数,默认值0.01 【约束】无 【输出】Y:输出Tensor,类型同X输入 |
35 | Less | 对输入A和B进行逐元素Less逻辑运算 | 【输入】 - A:输入Tensor,类型:float32 - B:输入Tensor,类型:float32 【约束】无限制 【输出】C:输出Tensor,类型:bool |
36 | Log | 取自然对数运算 | 【输入】input:输入Tensor,类型: float32 【约束】无 【输出】output:输出Tensor,类型同input输入 |
37 | LogSoftmax | 对输入进行logsoftmax(log of softmax)计算 | 【输入】input:输入Tensor,类型:float32 【参数】axis:int,输入变为2D维度时的轴,默认值1 【约束】axis参数仅支持最后一维 【输出】output:输出Tensor,维度和输入相同 |
38 | MatMul | 矩阵乘 | 【输入】 - A:输入Tensor,类型:float32 - B:输入Tensor,类型:float32 【约束】 - A: 输入tensor,2<=rank<=4 - B: 输入tensor,类型与rank同A 【输出】Y:输出Tensor,类型:float32 |
39 | Max | 逐个元素取最大值 | 【输入】 - X1:输入Tensor,类型:float32 - X2:输入Tensor,类型:float32 【约束】 - 对于两个输入维度个数不相同的场景,需要将维度补齐到四维。例如,x.shape=(1, 5, 6, 7) 和 y.shape=(6, 7)需要将y的维度补齐到4维,即y.shape=(1, 1, 6, 7);Kirin 9000平台下,已经支持broadcast;1<=N <= 65535 - 只支持2个输入 【输出】y:输出Tensor,类型:float32 |
40 | MaxPool | 最大池化 | 【输入】X:输入Tensor,类型:float32【参数】 - auto_pad:optional, string,pad的计算模式,默认是NOTSET - ceil_mode:optional, int,使用ceil(向上取整)还是floor(向下取整)计算输出维度,默认值0(ceil) - dilations:optional,list of ints,每个值对应池化核对应空间轴上的扩张值,默认值1 - kernel_shape:list of ints,每个值对应相应维度的窗口大小 - pads:list of ints,每个值对应相应维度的pad值,默认值为0 - storage_order:int,Tensor的存储顺序,默认值0,按行存储 - strides:list of ints,其中每个值对应相应维度的滑动步长,默认值为1 【约束】 - auto_pad参数只支持默认值 - storage_order参数只支持默认值 - dilations参数只支持默认值 - Indices可选输出不支持 【输出】 - Y:输出Tensor,类型与X输入相同 - Indices:optional,输出Tensor |
41 | Min | 逐个元素取最小 | 【输入】 - X1:输入Tensor,类型:float32, int32 - X2:输入Tensor,类型:float32,int32 【约束】 - 5D输入不支持常量广播 - 只支持2个输入 【输出】y:输出Tensor,类型与Xn输入相同 |
42 | Mul | 二元点乘 | 【输入】 - A:输入Tensor,类型:float32,第1个操作数 - B:输入Tensor,类型:float32,第2个操作数 【约束】支持两组输入的维度不一致,进行广播操作(广播即维度补齐),目前支持以下几种广播场景: - NCHW+NCHW(备注, 两个维度相同tensor) - NCHW+scalar - NCHW+W, CHW+W, HW+W(备注, W维度做broadcast) - NCHW + NCH1, CHW + CH1, HW + H1 - CHW + C1W(备注,H维度做broadcast) 对于两个输入维度个数不相同的场景,需要将维度补齐到四维。例如,x.shape=(1, 5, 6, 7) 和 y.shape=(6, 7)需要将y的维度补齐到4维,即y.shape=(1, 1, 6, 7)。说明:两个Tensor的输入顺序可以互换。【输出】C:输出Tensor,类型同B |
43 | Neg | 对Tensor的每个元素取反,y=-x | 【输入】X:输入Tensor,类型:float32 【约束】无 【输出】Y:输出Tensor,类型:float32 |
44 | NonMaxSuppression | 进行非最大值压缩在指定框中 | 【输入】 - boxes:输入Tensor,类型:float32 - scores:输入Tensor,类型:float32 - max_output_boxes_per_class(可选):输入Tensor,类型:int32 - iou_threshold(可选):输入Tensor,类型:float32 - score_threshold(可选):输入Tensor,类型:float32 【约束】 - max_output_boxes_per_class、iou_threshold、score_threshold仅支持权值输入 - max_output_boxes_per_class不支持取0 - iou_threshold不支持取0和1 【输出】selected_indices:输出Tensor,类型:float32 |
45 | Or | 对输入Tensor的每个元素取逻辑或 | 【输入】 - A:输入Tensor,类型:bool - B:输入Tensor,类型:bool 【约束】input输入不支持NCHW格式数据【输出】C:输出Tensor,类型:bool |
46 | PRelu | 根据下面公式做运算f(x) = slope * x for x < 0, f(x) = x for x >= 0 | 【输入】 - X:输入Tensor,类型:float32 - slope:输入Tensor,类型:float32 【约束】 - slope输入必须是常量 - slope必须是标量或者1C11或C11的形式,其中C是X输入的channel - X输入必须是4D 【输出】Y:输出Tensor,类型同X输入 |
47 | Pad | 对输入Tensor做补pad处理 | 【输入】 - data:输入Tensor,类型:float32 - pads:输入Tensor,类型:int64 - constant_value:optional,输入Tensor,标量,类型同data输入,默认值0 【参数】 - mode:string,支持的模式 - 在opset 7~10中pads输入是参数 - 在opset 7~10中存在value参数,表示要被填充的值 【约束】 - mode仅支持constant模式 - pads输入必须是常量 【输出】output:输出Tensor,类型:float32 |
48 | Pow | 逐个元素做指数运算 | 【输入】 - X:输入Tensor,类型:float32, int32 - Y:输入Tensor,类型:float32, int32 【约束】无限制【输出】Z:输出Tensor,类型:float32, int32 |
49 | Range | 创建一个Tensor,Tensor的数据以start开始,以delta作为步长扩展直到limit | 【输入】 - start:输入Tensor,标量,类型:float32,int32,输出数据的起始值 - limit:输入Tensor,标量,类型:float32,int32,输出数据的上限值 - delta:输入Tensor,标量,类型:float32,int32,步长 【约束】 - 输入start必须是常量 - 输入limit必须是常量 - 输入delta必须是常量 【输出】output:输出Tensor,标量,类型float32,int32 |
50 | ReduceLogSumExp | 计算输入Tensor沿着指定轴上的对数和的指数 | 【输入】data:输入Tensor,类型:float32【参数】 - axes:list of ints,指定的轴 - keepdims:ints,是否保留指定轴上的维度,默认值是1 【约束】无【输出】reduced:输出Tensor |
51 | ReduceMax | 计算输入Tensor沿着指定轴上的最大值 | 【输入】data:输入Tensor,类型:float32【参数】 - axes:list of ints,指定的轴 - keepdims:ints,是否保留指定轴上的维度,如果是1,保留,如果是0,则不保留,默认值是1 【约束】axes参数为必选参数【输出】reduced:输出Tensor |
52 | ReduceMean | 计算输入Tensor沿着指定轴上的平均值 | 【输入】data:输入Tensor,类型:float32【参数】 - axes:list of ints,指定的轴 - keepdims:ints,是否保留指定轴上的维度,如果是1,保留,如果是0,则不保留,默认值是1 【约束】axes参数为必选参数【输出】reduced:输出Tensor |
53 | ReduceMin | 计算输入Tensor沿着指定轴上的最小值 | 【输入】data:输入Tensor,类型:float32【参数】 - axes:list of ints,指定的轴 - keepdims:int,是否保留维度,默认值1 【约束】 - axes参数为必选参数 - keepdims参数仅支持设置为1 【输出】reduced:输出Tensor |
54 | ReduceSum | 计算输入Tensor沿着指定轴上的和 | 【输入】data:输入Tensor,类型:float32【参数】 - axes:list of ints,指定的轴 - keepdims:int,是否保留维度,默认值1 【约束】axes参数为必选参数【输出】reduced:输出Tensor |
55 | Relu | 整流线性单位函数 | 【输入】X:输入Tensor,类型:float32 【约束】无 【输出】Y:输出Tensor,类型同X输入 |
56 | Reshape | 改变输入Tensor的维度 | 【输入】 - data:输入Tensor,类型:float32,int32,int64,bool - shape:输入Tensor,类型:int32,int64 【约束】shape输入必须是常量【输出】reshaped:输出Tensor,类型同data输入 |
57 | Resize | 调整输入tensor的维度 | 【输入】 - X:输入Tensor,类型:float32 - roi:输入Tensor,类型:float32 【参数】 - align_corners:bool,缺省值为false - half_pixel_centers:bool,缺省值为false 【约束】 - scales和sizes两个输入仅支持权值输入,不支持非权值输入 - coordinate_transformation_mode支持half_pixel,pytorch_half_pixel。其中pytorch_half_pixel仅支持resized_length>1场景,resized_length <=1场景报错 - cubic_coeff_a仅支持默认值-0.75 - exclude_outside仅支持默认值0 - extrapolation_value仅支持默认值:0.0 - mode 支持nearest, linear - nearest_mode仅支持默认值round_prefer_floor - 不支持crop功能 - roi是无效输入时,仅支持权值输入 - 其他场景报错处理 【输出】Y:输出Tensor,类型同data输入 |
58 | RoiAlign | 对关注的区域做对齐操作 | 【输入】 - X:输入Tensor,类型:float32 - roi:输入Tensor,类型:int32 - batch_indices:输入Tensor,类型:int32 【参数】 - mode:string,缺省值为avg - output_height:int32,缺省值为1 - output_width:int32,缺省值为1 - sampling_ratio:int32,缺省值为1 - spatial_scale:float32,缺省值为1.0 【约束】mode仅支持avg模式【输出】Y:输出Tensor,类型同X输入 |
59 | Round | 逐个元素取整 | 【输入】X:输入Tensor,类型:float32 【约束】无限制 【输出】Y:输出Tensor,类型同X输入 |
60 | ScatterElements | 绘制散点图 | 【输入】 - data:输入Tensor,类型:float32, int8, uint8, bool - indices:输入Tensor,类型:int32, int64 - updates:输入Tensor,类型:float32, int8, uint8, bool 【参数】axis:int,缺省值为0【约束】无【输出】output:输出Tensor,类型同data输入 |
61 | Selu | 对输入做下面公式计算y = gamma (alpha e^x - alpha) for x <= 0, y = gamma * x for x > 0 | 【输入】x:输入Tensor,类型:float32【参数】 - alpha:float32,缺省值为1.67326 - gamma:float32,缺省值为1.0507 【约束】仅支持alpha和gamma参数是默认值 【输出】y:输出Tensor,类型同x输入 |
62 | Shape | 获取输入Tensor的维度,并输出 | 【输入】data:输入Tensor,类型:float32,int32,bool,uint8 【约束】不支持指定为输出节点 【输出】shape:输出Tensor,data输入的维度 |
63 | Sigmoid | sigmoid函数,y = 1 / (1 + exp(-x)) | 【输入】X:输入Tensor,类型:float32 【约束】无 【输出】Y:输出Tensor,类型同X输入 |
64 | Sign | sign函数(符号函数),当x>0,sign(x)=1当x=0,sign(x)=0当x<0,sign(x)=-1 | 【输入】input:输入Tensor,类型:float32 【约束】无 【输出】output:输出Tensor,类型和维度同input输入 |
65 | Sin | 计算正弦 | 【输入】input:输入Tensor,类型:float32 【约束】无限制 【输出】output:输出Tensor,类型与x输入相同 |
66 | Slice | 对输入Tensor沿着指定轴切分 | 【输入】 - data:输入Tensor,类型:float32,int32,uint8,bool - starts:1-D输入Tensor,类型:int64,int32,表示在指定轴上切分的起始位置 - ends:1-D输入Tensor,类型:int64,int32,表示在指定轴上切分的结束位置 - axes:optional,1-D输入Tensor,类型:int64,int32,指定需要切分的轴,缺省表示沿所有的维度切分,负值表示从后往前统计维度值 - steps:optional,1-D输入Tensor,类型:int64,int32,切分的步长 【参数】opset9及之前版本,axes,ends,starts是参数【约束】 - 输入starts,ends,axes,steps必须为常量 - 不支持切分后,存在维度为0的场景 【输出】output:输出Tensor,切分后的Tensor |
67 | Softmax | 归一化逻辑函数 | 【输入】input:输入Tensor,类型:float32 【参数】axis:int,输入变为2D维度时的轴,默认值1 【约束】axis参数仅支持最后一维 【输出】output:输出Tensor,类型和维度同input输入 |
68 | Softplus | softplus激活函数,y = ln(exp(x) + 1) | 【输入】X:1-D输入Tensor,类型:float32 【约束】无 【输出】Y:1-D输出Tensor,类型同X输入 |
69 | Split | 在指定轴上做拆分,输出多个tensor | 【输入】input:输入Tensor,类型: float32【参数】 - axis:int, 缺省值为0 - split: list of ints 值必须大于等于0 【约束】无 【输出】outputs:D输出Tensor,类型同输入 |
70 | Sqrt | 求平方根 | 【输入】X:输入Tensor,类型:float32 【约束】无 【输出】Y:输出Tensor,类型同X输入 |
71 | Squeeze | 在指定轴上降维 | 【输入】data:输入Tensor,类型:float32 【参数】axes:list of ints,轴,缺省值为所有维度,负值表示从后往前遍历 【约束】无 【输出】squeezed:输出Tensor,类型:float32 |
72 | Sub | 逐个元素的减法运算 | 【输入】 - A:输入Tensor,类型:float32 ,第1个操作数 - B:输入Tensor,类型:float32 ,第2个操作数 【约束】无 【输出】C:输出Tensor,类型:float32 |
73 | Tan | 正切函数 | 【输入】input:输入Tensor,类型:float32 【约束】无 【输出】output:输出Tensor,类型:float32 |
74 | Tanh | 双曲函数 | 【输入】input:输入Tensor,类型:float32【约束】无【输出】output:输出Tensor,类型:float32 |
75 | Tile | 对输入Tensor做平铺操作 | 【输入】 - input:输入Tensor,类型:float32,int8,uint8,bool - repeats:1-D输入Tensor,类型:int32, int64 【约束】repeats输入必须是常量【输出】output:输出Tensor,类型同input输入 |
76 | TopK | 实现最大或者最小的K个元素在指定的轴上。 | 【输入】 - X:输入Tensor,类型:float32 - K:输入Tensor,类型:int32, int64 【参数】 - axis:int,缺省值为-1 - largest:int,缺省值为1 - sorted:int,缺省值为1 【约束】K输入必须是常量【输出】 - values:输出Tensor,类型:float32 - indices: 输出Tensor,类型:int32 |
77 | Transpose | 根据属性perm中各个轴的排列顺序,对输入Tensor和shape做相应转换 | 【输入】data:输入Tensor,类型:float32 【参数】perm:list of ints,轴调整排列的顺序表 【约束】无【输出】transposed:输出Tensor,类型:float32 |
78 | Unsqueeze | 在指定轴上扩维 | 【输入】data:输入Tensor,类型:float32,int32,uint8,bool 【参数】axes:list of ints,指定需要扩维的轴 【约束】仅支持axes个数为1 【输出】expanded:输出Tensor,类型:float32,int32,uint8,bool |
79 | Upsample | 上采样 | 【输入】 - X:输入Tensor,类型:float32 - scales:输入Tensor,类型:float32 【参数】 - mode:string,模式,有2个插值模式,nearest模式和linear模式(包含bilinear, trilinear等),默认是nearest模式 - 在opset7中scales输入是参数 【约束】 - 仅支持nearest、bilinear两种插值模式 - X仅支持4D输入Tensor - N、C方向的scale仅支持等于1.0 【输出】Y:输出Tensor,类型:float32 |
80 | ReduceL2(V510新增) | 计算输入Tensor沿着指定轴上的欧几里得范数 | 【输入】data:输入Tensor,类型:float32【参数】 - axes:list of ints,指定的轴 - keepdims:int,是否保留维度,默认值1 【约束】 - 只支持keepdims=1的情形,所以输入和输出的realDim相等 - 输入N <= 65535 - axes范围:支持realDim为3和realDim为4时对最后一维做reduceL2 【输出】reduced:输出Tensor |