本文为 RKNN2 V2.5.0 对应平台的算子参考,供 ArmSoM 开发者选型与模型适配时查阅。不能据此认定所有 ArmSoM 板卡均支持这些算子;需按板卡 SoC、实际 Toolkit2、Runtime、NPU 驱动及 BSP 版本核对。原稿没有统一指定适用 Linux 内核,本文未进行 ArmSoM 硬件验证。
来源:本地中英文《RKNN2 算子支持与约束参考》V2.5.0。中文依中文稿;英俄德依英文稿。两稿分别为 374/384 页。各平台限制独立保留,不将一个平台的支持结论推广到另一个平台。英文稿 I/O 原图与输出表仍含中文,本文保留其来源并另附可编辑的本地化表格。ConvTranpose 等原稿拼写及 LSTM/GRU 原始公式保留;不要将本文公式视为 SDK 实现修正。
原稿页码: CN 230–250; EN 237–258.
算子参考系列目录
RKNN2 V2.5.0 · RK3566/RK3568:基础与卷积
RKNN2 V2.5.0 · RK3566/RK3568:循环网络、运算与池化
RKNN2 V2.5.0 · RK3566/RK3568:形状、切片与转置
RKNN2 V2.5.0 · RK3566/RK3568:激活、归一化与扩展算子
RKNN2 V2.5.0 · RK3588:循环网络、运算与池化
RKNN2 V2.5.0 · RK3588:形状、切片与转置
RKNN2 V2.5.0 · RK3588:激活、归一化与扩展算子
RKNN2 V2.5.0 · RK3562:循环网络、运算与池化
RKNN2 V2.5.0 · RK3562:形状、切片与转置
RKNN2 V2.5.0 · RK3562:激活、归一化与扩展算子
RKNN2 V2.5.0 · RV1103/RV1106:基础与卷积
RKNN2 V2.5.0 · RV1103/RV1106:循环网络、运算与池化
RKNN2 V2.5.0 · RV1103/RV1106:形状、切片与转置
RKNN2 V2.5.0 · RV1103/RV1106:激活、归一化与扩展算子
RKNN2 V2.5.0 · RK3576/RV1126B:基础与卷积
RKNN2 V2.5.0 · RK3576/RV1126B:循环网络、运算与池化
RKNN2 V2.5.0 · RK3576/RV1126B:形状、切片与转置
RKNN2 V2.5.0 · RK3576/RV1126B:激活、归一化与扩展算子
RKNN2 V2.5.0 · RK2118:循环网络、运算与池化
RKNN2 V2.5.0 · RK2118:形状、切片与转置
RKNN2 V2.5.0 · RK2118:激活、归一化与扩展算子
RKNN2 V2.5.0 · RV1103B/RV1106B:基础与卷积
RKNN2 V2.5.0 · RV1103B/RV1106B:循环网络、运算与池化
RKNN2 V2.5.0 · RV1103B/RV1106B:形状、切片与转置
Div
执行元素级二进制除法(C=A/B),支持多向Numpy样式的广播
输入列表
- A:T1,T2
- shape:[batch,channel,height,width]
- 量化支持
- per-layer
- 广播支持
- 支持任意维度广播操作
- 广播约束同Expand算子
- B:T1,T2
- shape:[batch,channel,height,width]
- 量化支持
- per-layer
- 广播支持
- 支持任意维度广播操作
- 广播约束同Expand算子
输出列表
- C:T1
- shape:[batch,channel,height,width]
- 量化支持
- per-layer
数据类型约束
- T1:float16(Tensor)
- T2:float(constTensor)
其他支持
- 多核联合:不支持
Expand
根据给定的 shape 和广播规则广播输入张量。广播规则类似于 numpy.array(input) *numpy.ones(shape):维度右对齐;两个对应维度必须具有相同的值,或者其中一个等于1
输入列表
- input:T1
- shape:[batch,channel,height,width]
- 量化支持
- per-layer
- shape:T2
- shape:[batch,channel,height,width]
输出列表
- output:T1
- shape:[batch,channel,height,width]
- 量化支持
- per-layer
数据类型约束
- T1:int8(Tensor),float16(Tensor)
- T2:int64(Tensor)
广播约束
- [b,c,1,w]->[b,c,h,w],h∈[1,8192]
- [b,1,1,w]->[b,c,h,w],h∈[1,8192]
- [b,c,h,1]->[b,c,h,w],w ∈[1,8192]
- [b,1,h,1]->[b,c,h,w],w ∈[1,8192]
- [b,c,1,1]->[b,c,h,w],h∈[1,8192],w ∈[1,8192]
其他支持
- 多核联合:不支持
GRU
门控循环单元(GRU,GatedRecurrentUnit) GRU扩展以及变体命名为exGRU算子,参数项中指明(extern)的项为exGRU独有的参数项。 计算公式如下:
Equations(Default:f=Sigmoid,g=Tanh):
r_t =f(x_t · W_r + h_{t−1} · R_r + Wb_r + Rb_r)
z_t = f(x_t · W_z + h_{t−1} · R_z + Wb_z + Rb_z)
h_t= g(x_t · W_h + (r_t ⊙ h_{t−1}) · R_h + Rb_h + Wb_h), (WRB=0)
h_t = g(x_t · W_h + r_t ⊙(h_{t−1} · R_h + Rb_h)) + Wb_h, (WRB=1)
H_t = (1 − z_t) ⊙ h_t + z_t ⊙ h_{t−1}
输入列表
- X:T1
- shape:[seq_length,batch_size,input_size]
- seqlength∈(0,8192]
- batchsize∈(0,8192],大于1时仅支持4的倍数
- inputsize∈(0,8192]
- 量化支持
- per-layer
- shape:[seq_length,batch_size,input_size]
- W:T1
- shape:[num_directions,4*hidden_size,input_size]
- inputsize∈(0,8192]
- hiddensize∈(0,8192]
- numdirections:1or2
- 量化支持
- per-layer
- per-channel
- shape:[num_directions,4*hidden_size,input_size]
- R:T1
- shape:[num_directions,4*hidden_size,hidden_size]
- hiddensize∈(0,8192]
- numdirections:1or2
- 量化支持
- per-layer
- per-channel
- shape:[num_directions,4*hidden_size,hidden_size]
- B:T2
- shape:[num_directions,8*hidden_size]
- hiddensize∈(0,8192]
- numdirections:1or2
- 量化支持
- per-layer
- per-channel
- shape:[num_directions,8*hidden_size]
- sequence_lens:T3(optional)
- shape:[batch_size]
- batchsize∈(0,8192],大于1时仅支持4的倍数
- shape:[batch_size]
- initial_h:T1(optional)
- shape:[num_directions,batch_size,hidden_size]
- numdirections:1or2
- batchsize∈(0,8192],大于1时仅支持4的倍数
- hiddensize∈(0,8192]
- 量化支持
- per-layer
- shape:[num_directions,batch_size,hidden_size]
输出列表
- Y:T1
- shape:[seq_length,num_directions,batch_size,hidden_size]
- seqlength∈(0,8192]
- numdirections:1or2
- batchsize∈(0,8192],大于1时仅支持4的倍数
- hiddensize∈(0,8192]
- 量化支持
- per-layer
- shape:[seq_length,num_directions,batch_size,hidden_size]
- Y_h:T1(optional)
- shape:[num_directions,batch_size,hidden_size]
- numdirections:1or2
- batchsize∈(0,8192],大于1时仅支持4的倍数
- hiddensize∈(0,8192]
- 量化支持
- per-layer
- shape:[num_directions,batch_size,hidden_size]
属性列表
- linear_before_reset:int
- LBR变种的选择:1(T)or0(F)
- direction(extern):string
- 指定GRU的运算方向
- forward:指定GRU的运算方向为前向
- reverse:指定GRU的运算方向为反向
- bidirectional:指定GRU的运算方向为双向
- sequence_size(extern):int
- 指定GRU输入的seqsize,无限制,建议4对齐
- hidden_size(extern):int
- GRU单元中的hiddensize,无限制,建议8对齐
- input_layout(extern):int
- 指定与对应输入shape含义一致的layout
- 要求填写指定的layout,同时要求填写该op实际对应的batch_size、sequence_size、hidden_size。
- snc:指定layout对应的输入shape为[seqs,batches,input_size]
- (sn)c:指定layout对应的输入shape为[seqs*batches,input_size,1,1]
- output_layout(extern):int
- 指定与对应输出shape含义一致的layout
- 要求填写指定的layout,同时要求填写该op实际对应的batch_size、sequence_size、hidden_size、directions。
- sbnc:指定layout对应的输出shape为[seqs,directions,batches,hidden_size]
- (sn)c:指定layout对应的输出shape为[seqsbatches,directionsinput_size,1,1]
数据类型约束
- T1:float16(Tensor)
- T2:float(Tensor)
- T3:float(Scalar)
其他支持
- 多核联合:暂不支持
Gather
根据索引Indices获取输入X的指定axis维度的条目,并将它们拼接在一起。
输入列表
- X:T1
- shape:[batch,channel,height,width]
- 量化支持
- per-layer
- Indices:T2
- 要收集的元素的索引,秩rank =1
输出列表
- Y:T1
- shape:[batch,channel,height,width]
- 量化支持
- per-layer
数据类型约束
- T1:int8(Tensor),float16(Tensor)
- T2:int(Tensor)
属性列表
- axis:int(Tensor)
- axis∈{0,1,2,3}
- 指定Indices获取输入的维度
其他支持
- 多核联合:尚不支持
Hardmax
该OP计算给定输入的hardmax激活函数,实现参照onnx中的Hardmax-13
Hardmax(input, axis) = 1 if i = argmax(input, axis); 0 otherwise
输入列表
- input:T
- shape:[batch,channel,height,width]
- axis=1时,height∗width∈[1,16384);
- axis=3/-1时,channel∗height∈[1,16384),且受限于transpose的规格限制
- shape:[batch,channel,height,width]
输出列表
- output:T
- shape:[batch,channel,height,width]
数据类型约束
- T:int8(Tensor),float16(Tensor)
属性列表
- axis:int
- 做hardmax的轴:axis∈{−1,1,3}即channel和width方向
LSTM
长短期记忆网络(LSTM,Long Short-Term Memory) LSTM扩展以及变体命名为exLSTM算子,参数项中指明 (extern)的项为exLSTM独有的参数项。 计算公式如下:
Equations(Default:f=Sigmoid,g=Tanh,h=Tanh):
i_t = f(x_t · W_i + h_{t−1} · R_i + Wb_i + Rb_i)
f_t= f(x_t · W_f + h_{t−1} · R_f + Wb_f + Rb_f)
c_t = f(x_t · W_c + h_{t−1} · R_c + Wb_c + Rb_c)o_t = f(x_t · W_o + h_{t−1} · R_o + Wb_o + Rb_o)
C_t = f_t ⊙ C_{t−1} + i_t ⊙ c_t
h_t = o_t ⊙h(C_t)
输入列表
- X:T1
- shape:[seq_length,batch_size,input_size]
- seqlength∈(0,8192]
- batchsize∈(0,8192],大于1时仅支持4的倍数
- inputsize∈(0,8192]
- 量化支持
- per-layer
- shape:[seq_length,batch_size,input_size]
- W:T1
- shape:[num_directions,4*hidden_size,input_size]
- inputsize∈(0,8192]
- hiddensize∈(0,8192]
- numdirections:1or2
- 量化支持
- per-layer
- per-channel
- shape:[num_directions,4*hidden_size,input_size]
- R:T1
- shape:[num_directions,4*hidden_size,hidden_size]
- hiddensize∈(0,8192]
- numdirections:1or2
- 量化支持
- per-layer
- per-channel
- shape:[num_directions,4*hidden_size,hidden_size]
- B:T2,T3
- shape:[num_directions,8*hidden_size]
- hiddensize∈(0,8192]
- numdirections:1or2
- 量化支持
- per-layer
- per-channel
- shape:[num_directions,8*hidden_size]
- sequence_lens:T4,T5(optional)
- shape:[batch_size]
- batchsize∈(0,8192],大于1时仅支持4的倍数
- shape:[batch_size]
- initial_h:T1(optional)
- shape:[num_directions,batch_size,hidden_size]
- numdirections:1or2
- batchsize∈(0,8192],大于1时仅支持4的倍数
- hiddensize∈(0,8192]
- 量化支持
- per-layer
- shape:[num_directions,batch_size,hidden_size]
- initial_c:T1(optional)
- shape:[num_directions,batch_size,hidden_size]
- numdirections:1or2
- batchsize∈(0,8192],大于1时仅支持4的倍数
- hiddensize∈(0,8192]
- 量化支持
- per-layer
- shape:[num_directions,batch_size,hidden_size]
输出列表
- Y:T1
- shape:[seq_length,num_directions,batch_size,hidden_size]
- seqlength∈(0,8192]
- numdirections:1or2
- batchsize∈(0,8192],大于1时仅支持4的倍数
- hiddensize∈(0,8192]
- 量化支持
- per-layer
- shape:[seq_length,num_directions,batch_size,hidden_size]
- Y_h:T1(optional)
- shape:[num_directions,batch_size,hidden_size]
- numdirections:1or2
- batchsize∈(0,8192],大于1时仅支持4的倍数
- hiddensize∈(0,8192]
- 量化支持
- per-layer
- shape:[num_directions,batch_size,hidden_size]
- Y_c:T1(optional)
- shape:[num_directions,batch_size,hidden_size]
- numdirections:1or2
- batchsize∈(0,8192],大于1时仅支持4的倍数
- hiddensize∈(0,8192]
- 量化支持
- per-layer
- shape:[num_directions,batch_size,hidden_size]
属性列表
- direction(extern):string
- 指定LSTM的运算方向
- forward:指定LSTM的运算方向为前向
- reverse:指定LSTM的运算方向为反向
- bidirectional:指定LSTM的运算方向为双向
- sequence_size(extern):int
- 指定LSTM输入的seqsize,无限制,建议4对齐
- hidden_size(extern):int
- LSTM单元中的hiddensize,无限制,建议8对齐
- proj_size(extern):int
- projection时的proj_size,projsize∈[0,hiddensize]
- 目前限定0,即尚不支持projection功能
- input_forget(extern):int
- cifg变种的选择:1(T)or0(F)目前限定0,即尚不支持
- has_projection(extern):int
- projection变种:1(T)or0(F)目前限定0,即尚不支持
- input_layout(extern):int
- 指定与对应输入shape含义一致的layout
- 要求填写指定的layout,同时要求填写该op实际对应的batch_size、sequence_size、hidden_size。
- snc:指定layout对应的输入shape为[seqs,batches,input_size]
- (sn)c:指定layout对应的输入shape为[seqs*batches,input_size,1,1]
- output_layout(extern):int
- 指定与对应输出shape含义一致的layout
- 要求填写指定的layout,同时要求填写该op实际对应的batch_size、sequence_size、hidden_size、directions。
- sbnc:指定layout对应的输出shape为[seqs,directions,batches,hidden_size]
- (sn)c:指定layout对应的输出shape为[seqsbatches,directionsinput_size,1,1]
数据类型约束
- T1:int8(Tensor),float16(Tensor)
- T2:float(Tensor)
- T3:int32(Tensor)
- T4:float(Scalar)
- T5:int(Scalar)
其他支持
- 多核联合:暂不支持
Max
计算输入张量的元素级最大值
输入列表
- A:T1
- shape:[batch,channel,height,width]
- 量化支持
- per-layer
- 广播支持
- 支持任意维度广播操作
- 广播约束同Expand算子
- B:T1
- shape:[batch,channel,height,width]
- 量化支持
- per-layer
- 广播支持
- 支持任意维度广播操作
- 广播约束同Expand算子
输出列表
- C:T1
- shape:[batch,channel,height,width]
- 量化支持
- per-layer/per-channel
数据类型约束
- T1:int8(Tensor),float16(Tensor)
其他支持
- 多核联合:暂不支持
Greater
计算输入张量A和B的Greater结果
输入列表
- A:T1
- shape:[batch,channel,height,width]
- 量化支持
- per-layer
- 广播支持
- 支持任意维度广播操作
- 广播约束同Expand算子
- B:T1
- shape:[batch,channel,height,width]
- 量化支持
- per-layer
- 广播支持
- 支持任意维度广播操作
- 广播约束同Expand算子
输出列表
- C:T1
- shape:[batch,channel,height,width]
- 量化支持
- per-layer/per-channel
数据类型约束
- T1:int8(Tensor),float16(Tensor)
其他支持
- 多核联合:暂不支持
Min
计算输入张量的元素级最小值
输入列表
- A:T1
- shape:[batch,channel,height,width]
- 量化支持
- per-layer
- 广播支持
- 支持任意维度广播操作
- 广播约束同Expand算子
- B:T1
- shape:[batch,channel,height,width]
- 量化支持
- per-layer
- 广播支持
- 支持任意维度广播操作
- 广播约束同Expand算子
输出列表
- C:T1
- shape:[batch,channel,height,width]
- 量化支持
- per-layer/per-channel
数据类型约束
- T1:int8(Tensor),float16(Tensor)
其他支持
- 多核联合:暂不支持
Mul
执行元素级二进制乘法(C=A*B),支持多向Numpy样式的广播
输入列表
- A:T1,T2
- shape:[batch,channel,height,width]
- 量化支持
- per-layer
- 广播支持
- 支持任意维度广播操作
- 广播约束同Expand算子
- B:T1,T2
- shape:[batch,channel,height,width]
- 量化支持
- per-layer
- 广播支持
- 支持任意维度广播操作
- 广播约束同Expand算子
输出列表
- C:T1
- shape:[batch,channel,height,width]
- 量化支持
- per-layer
数据类型约束
- T1:int8(Tensor),float16(Tensor)
- T2:float(constTensor)
其他支持
- 多核联合:RK3576支持/RV1126B不支持
MulRelu
Mul与Relu融合计算,C=Relu(A*B)
输入列表
- 同Mul
输出列表
- 同Mul
其他支持
- 多核联合:RK3576支持/RV1126B不支持
Pad
给定一个包含要填充的数据的张量(data),包含轴的开始和结束填充数值的张量(pads),模式(mode),常 量数值(constant_value),生成一个填充张量(output)
输入列表
- data:T1
- shape:[batch,channel,height,width]
- 量化支持
- per-layer
- pads:T2
- shape : [batch_begin, channel_begin, height_begin, width_begin, batch_end, channel_end,height_end,width_end]
- constant_value(optional):T3
- shape:[1]
- 量化支持
- per-layer
输出列表
- output:T1
- shape:[batch,channel,height,width]
- 量化支持
- per-layer
数据类型约束
- T1:int8(Tensor),float16(Tensor)
- T2:int64(Tensor)
- T3:float(Scalar),int8(Scalar),float16(Scalar)
属性列表
- mode:string(默认值constant)
- 支持模式:constant,reflect
- constant无限制
- reflectchannel∈(0,8192],height∈(0,8192],width∈(0,8176]
- 支持模式:constant,reflect
其他支持
- 多核联合:尚不支持
MaxPool
MaxPool消耗输入张量X并根据内核大小、步幅大小和pad长度在张量上应用最大池化。最大池化包括 根据内核大小计算输入张量子集的所有值的最大值,并将数据下采样到输出张量Y中以进行进一步处理。 输出空间形状的计算方式有所不同,具体取决于是否使用显式填充(在使用pads的情况下)或使用自 动填充(在使用auto_pad的情况下)。仅使用显式填充
输入列表
- input:T1
- shape:[batch,channel,height,width]
- channel∈(0,8192]
- height∈(0,8192]
- width∈(0,8192]
- shape:[batch,channel,height,width]
输出列表
- output:T1
- shape:[batch,channel,height,width]
属性列表
- kernel_shape:int64(kernel_h,kernel_w)
- kernel_h∈(0,7]
- kernel_w∈(0,7]
- auto_pad:string
- pad的方式:仅支持NOTSET
- ceil_mode:int64
- 使用ceil或floor的方式计算输出的shape:不支持
- strides:int64(strides_h,strides_w)
- strides_h∈(0,8]
- strides_w∈(0,8]
- count_include_pad:int64[]
- count_include_pad是否包含pad数值进行计算:1
- pad:int64(pad_top,pad_left,pad_bottom,pad_right)
- pad_top∈[0,7]
- pad_left∈[0,7]
- pad_bottom∈[0,7]
- pad_right∈[0,7]
- storage_order:int64[]
- 优先储存方式:0
数据类型约束
- T1:int8(Tensor),float16(Tensor)
- T2:float(Tensor)
- T3:float(Scalar)
GlobalMaxPool
GlobalMaxPool使用输入张量X并对同一通道中的值应用最大池化。这相当于MaxPool的kernel_shape 大小等于input的空间维度。
输入列表
- input:T1
- shape:[batch,channel,height,width]
- channel∈(0,8192]
- height∈(0,8192]
- width∈(0,8192]
- shape:[batch,channel,height,width]
输出列表
- output:T1
- shape:[batch,channel,height,width]
属性列表
- kernel_shape:int64(kernel_h,kernel_w)
- kernel_h∈(0,7]
- kernel_w∈(0,7]
- auto_pad:string
- pad的方式:仅支持NOTSET
- ceil_mode:int64
- 使用ceil或floor的方式计算输出的shape:不支持
- strides:int64(strides_h,strides_w)
- strides_h∈(0,8]
- strides_w∈(0,8]
- count_include_pad:int64[]
- count_include_pad是否包含pad数值进行计算:1
- pad:int64(pad_top,pad_left,pad_bottom,pad_right)
- pad_top∈[0,7]
- pad_left∈[0,7]
- pad_bottom∈[0,7]
- pad_right∈[0,7]
数据类型约束
- T1:int8(Tensor),float16(Tensor)
- T2:float(Tensor)
- T3:float(Scalar)
AveragePool
AveragePool使用输入张量X并根据内核大小、步幅大小和pad长度在张量上应用平均池化。平均池化 包括根据内核大小计算输入张量子集的所有值的平均值,并将数据下采样到输出张量Y中以进行进一步 处理。输出空间形状的计算方式有所不同,具体取决于是否使用显式填充(在使用pads的情况下)或使 用自动填充(在使用auto_pad的情况下)。仅使用显式填充
输入列表
- input:T1
- shape:[batch,channel,height,width]
- channel∈(0,8192]
- height∈(0,8192]
- width∈(0,8192]
- shape:[batch,channel,height,width]
输出列表
- output:T1
- shape:[batch,channel,height,width]
属性列表
- kernel_shape:int64(kernel_h,kernel_w)
- kernel_h∈(0,7]
- kernel_w∈(0,7]
- auto_pad:string
- pad的方式:仅支持NOTSET
- ceil_mode:int64
- 使用ceil或floor的方式计算输出的shape:不支持
- strides:int64(strides_h,strides_w)
- strides_h∈(0,8]
- strides_w∈(0,8]
- count_include_pad:int64[]
- count_include_pad是否包含pad数值进行计算:1
- pad:int64(pad_top,pad_left,pad_bottom,pad_right)
- pad_top∈[0,7]
- pad_left∈[0,7]
- pad_bottom∈[0,7]
- pad_right∈[0,7]
数据类型约束
- T1:int8(Tensor),float16(Tensor)
- T2:float(Tensor)
- T3:float(Scalar)
GlobalAveragePool
GlobalAveragePool使用输入张量X并对同一通道中的值应用平均池化。这相当于AveragePool,其kernel_shape大小等于输入张量的空间维度。
输入列表
- input:T1
- shape:[batch,channel,height,width]
- channel∈(0,8192]
- height∈(1,7]
- width∈(1,7]
- shape:[batch,channel,height,width]
输出列表
- output:T1
- shape:[batch,channel,height,width]
属性列表
- kernel_shape:int64(kernel_h,kernel_w)
- kernel_h∈(0,7]
- kernel_w∈(0,7]
- auto_pad:string
- pad的方式:仅支持NOTSET
- ceil_mode:int64
- 使用ceil或floor的方式计算输出的shape:不支持
- strides:int64(strides_h,strides_w)
- strides_h∈(0,8]
- strides_w∈(0,8]
- count_include_pad:int64[]
- count_include_pad是否包含pad数值进行计算:1
- pad:int64(pad_top,pad_left,pad_bottom,pad_right)
- pad_top∈[0,7]
- pad_left∈[0,7]
- pad_bottom∈[0,7]
- pad_right∈[0,7]
数据类型约束
- T1:int8(Tensor),float16(Tensor)
- T2:float(Tensor)
- T3:float(Scalar)
Pow
Z = X^Y 指数运算,采用输入数据(张量)和指数,并产生一个输出数据(张量)
输入列表
- X:T1
- shape:[batch,channel,height,width]
- 量化支持
- per-layer
- Y:T2
- shape:[1]
- 当前仅支持0、1、2、3、0.5、-0.5
- shape:[1]
输出列表
- Z:T1
- shape:[batch,channel,height,width]
- 量化支持
- per-layer
数据类型约束
- T1:int8(Tensor),float16(Tensor)
- T2:int8(Tensor),int32(Tensor),int64(Tensor),float16(Tensor),float(Tensor)
其他支持
- 多核联合:尚不支持
ReduceMax
获取输入张量channel方向上的最大值
输入列表
- input:T1
- shape:[batch,channel,height,width]
- 量化支持
- per-layer
- 广播支持
- 无
输出列表
- output:T1
- shape:[batch,1,height,width]
- 量化支持
- per-layer
数据类型约束
- T1:float16(Tensor)
其他支持
- 多核联合:暂不支持
