更新时间:2021-03-18 GMT+08:00
分享

Caffe算子边界

序号

算子

含义

边界

1

Absval

对输入求绝对值

【输入】

1个输入

【参数】

engine: 枚举型,默认为0(DEFAULT=0,CAFFE=1,CUDNN=2),可选

【约束】

无限制

【量化工具支持】

2

Argmax

返回输入的最大值对应的索引序号

【输入】

1个输入

【参数】

  • out_max_val: 布尔型,默认为false,可选
  • top_k:unit32,默认为1,可选
  • axis:int32,可选

【约束】

无限制

【量化工具支持】

3

BatchNorm

对输入做标准化

(x - avg(x))/x的标准差

【输入】

1个输入

【参数】

  • use_global_stats: 布尔型,必须为true
  • moving_average_fraction:float,默认为0.999,可选
  • eps:float,默认为1e-5,可选

【约束】

仅支持对C维度方向做归一化

【量化工具支持】

4

Concat

输入数据按维度拼接

【输入】

多个输入

【参数】

  • concat_dim: uint32,默认为1,取值:大于0,可选
  • axis:int32,默认1,可选;与concat_dim功能相同,二者择其一;axis== -1时,输入维度必须等于4,否则结果可能错误

【约束】

  • 输入的tensor,除了进行concat的维度外,其他维度的size必须相等
  • 输入tensor的个数范围不超过[1,1000]

【量化工具支持】

5

ConvolutionDepthwise

深度卷积

【输入】

1个输入,且filter为常量,维度为4

【参数】

  • num_output: uint32,可选
  • bias_term:布尔型,默认为true,可选
  • pad:uint32,默认为0;数组
  • kernel_size:uint32;数组
  • stride:uint32,默认为1;数组
  • dilation:uint32,只支持dilation=1;数组
  • pad_h:uint32,默认为0,可选(仅2D)
  • pad_w:uint32,默认为0,可选(仅2D)
  • kernel_h:uint32,可选(仅2D)
  • kernel_w:uint32,可选(仅2D)
  • stride_h:uint32,可选(仅2D)
  • stride_w:uint32,可选(仅2D)
  • group:uint32,默认为1,可选
  • weight_filler:不支持设置该参数
  • bias_filler:不支持设置该参数
  • engine:枚举型,默认为0(DEFAULT=0,CAFFE=1,CUDNN=2),可选
  • force_nd_im2col:布尔型,默认为false,可选
  • axis: int32,默认为1,可选

【约束】

filterN=inputC=group;

(W+15)/16*16)*filter.W*32 <= 32*1024,其中W是算子输入的W,filter.W是filter的W。

【量化工具支持】

6

Convolution

卷积

【输入】

1个输入,且filter为常量,维度为4

【参数】

  • num_output: uint32,可选
  • bias_term:布尔型,默认为true,可选
  • pad:uint32,默认为0;数组
  • kernel_size:uint32;数组
  • stride:uint32,默认为1;数组
  • dilation:uint32,默认为1;数组
  • pad_h:uint32,默认为0,可选(仅2D)
  • pad_w:uint32,默认为0,可选(仅2D)
  • kernel_h:uint32,可选(仅2D)
  • kernel_w:uint32,可选(仅2D)
  • stride_h:uint32,可选(仅2D)
  • stride_w:uint32,可选(仅2D)
  • group:uint32,默认为1,可选
  • weight_filler:不支持设置该参数
  • bias_filler:不支持设置该参数
  • engine:枚举型,默认为0(DEFAULT=0,CAFFE=1,CUDNN=2),可选
  • force_nd_im2col:布尔型,默认为false,可选
  • axis: int32,默认为1,可选

【约束】

  • (inputW + padWHead + padWTail) >= (((FilterW- 1) * dilationW) + 1)
  • (inputW + padWHead + padWTail) /StrideW + 1 <= 2147483647
  • (inputH + padHHead + padHTail) >= (((FilterH- 1) * dilationH) + 1)
  • (inputH + padHHead + padHTail) /StrideH + 1 <= 2147483647
  • 0 <= Pad < 256, 0 < FilterSize < 256, 0 < Stride < 64, 1 <= dilationsize < 256

【量化工具支持】

7

Crop

截取

【输入】

2个输入

【参数】

  • axis: int32,默认为2,axis=-1,input dim必须等于4,可选
  • offset:uint32,数组

【约束】

无限制

【量化工具支持】

8

Deconvolution

反卷积

【输入】

1个输入,且filter为常量,维度为4

【参数】

  • num_output: uint32,可选
  • bias_term:布尔型,默认为true,可选
  • pad:uint32,默认为0;数组
  • kernel_size:uint32;数组
  • stride:uint32,默认为1;数组
  • dilation:uint32,默认为1;数组
  • pad_h:uint32,默认为0,可选(仅2D)
  • pad_w:uint32,默认为0,可选(仅2D)
  • kernel_h:uint32,可选(仅2D)
  • kernel_w:uint32,可选(仅2D)
  • stride_h:uint32,可选(仅2D)
  • stride_w:uint32,可选(仅2D)
  • group:uint32,默认为1,可选
  • weight_filler:不支持设置该参数
  • bias_filler:不支持设置该参数
  • engine:枚举型,默认为0(DEFAULT=0,CAFFE=1,CUDNN=2),可选
  • force_nd_im2col:布尔型,默认为false,可选
  • axis: int32,默认为1,可选

【约束】

  • group = 1
  • dilation = 1
  • filterH - padHHead - 1 >= 0
  • filterW - padWHead - 1 >= 0
  • 还有一条约束涉及中间变量,公式如下:

1、a = ALIGN(filter_num,16) * ALIGN(filter_c,16) * filter_h * filter_w * 2 ;

如果ALIGN(filter_c,16)%32 = 0,a = a/2;

2、conv_input_width=(反卷积输入w - 1) * strideW + 1;

3、b = (conv_input_width) * filter_h * ALIGN(filter_num,16) * 2 * 2;

4、a + b <= 1024*1024。

【量化工具支持】

9

DetectionOutput

检测结果输出FSR

【输入】

3个输入

【参数】

  • num_classes: 必选,类型:int32,要预测的类数
  • share_location: 可选,类型: bool,默认为true(表示不同类间共享bounding box)
  • background_label_id: 可选,类型:int32,默认为0
  • nms_param: 可选,非最大抑制
  • save_output_param: 可选,用于保存检测结果
  • code_type: 可选,默认为CENTER_SIZE
  • variance_encoded_in_target: 可选,类型:bool,默认为true;如果为true,方差编码在目标中,否则需要相应地调整预测偏移量
  • keep_top_k: 可选,类型:int32,在nms步骤后每个图像要保留的总bbox数;
  • confidence_threshold: 可选,类型:float,仅考虑置信度大于阈值的检测;如果没有设置,考虑所有的box
  • nms_threshold: 可选,类型:float
  • top_k: 可选,类型:int32
  • boxes: 可选,类型:int32,默认为1
  • relative: 可选,类型:bool,默认为true
  • objectness_threshold,可选,类型:float,默认为0.5
  • class_threshold: 可选,类型:float,默认为0.5
  • biases: 数组
  • general_nms_param: 可选

【约束】

  • 支持fasterrcnn网络
  • 非极大值抑制比nmsThreshold∈(0,1)
  • 概率阈值postConfThreshold∈(0,1)
  • 类别>=2
  • 最大支持1024个框输入
  • 输出的w维度是16

【量化工具支持】

10

Eltwise

按元素操作层(求和、乘积、最大值)

【输入】

至少2个输入

【参数】

  • operation:可选,类型:枚举型(PROD = 0; SUM = 1; MAX = 2),默认为SUM
  • coeff:数组;类型:float
  • stable_prod_grad:可选,类型:bool,默认为true

    【约束】

  • 最大支持4个输入
  • 与原生算子相比,不支持stable_prod_grad参数
  • 支持prod、sum、max三种模式

【量化工具支持】

11

Elu

激活函数

【输入】

1个输入

【参数】

alpha (optional):类型:float,默认为1

【约束】

无限制

【量化工具支持】

12

Exp

对输入求以e为底的x次方值

【输入】

1个输入

【参数】

  • base:可选,类型:float,默认为-1.0
  • scale:可选,类型:float,默认为1.0
  • shift:可选,类型:float,默认为0.0

    【约束】

    无限制

【量化工具支持】

13

Flatten

输入n*c*h*w 变为向量 n* (c*h*w)

【输入】

1个输入

(top_size与bottom_size必须不一致,且不为1;

当axis=-1时,输入的dim必须等于4)

【参数】

  • axis:可选,类型:int32,默认为1
  • end_axis:可选,类型:int32, 默认为-1

    【约束】

    axis必须小于end axis

【量化工具支持】

14

FullConnection

全连接

【输入】

1个输入

【参数】

  • num_output: 可选,类型:uint32
  • bias_term: 可选,类型:bool,默认为true
  • weight_filler: 不支持设置该参数
  • bias_filler: 不支持设置该参数
  • axis: 可选,类型:int32,默认为1
  • transpose: 可选,类型:bool,默认为false

    【约束】

  • 仅支持transpose=false,axis=1;
  • 量化场景下,Bais_C <= 59136;非量化场景下,Bais_C <= 118272;
  • 如果客户要量化模型时,需要满足下列维度:
  • 当N = 1,2 * CEIL(C,16) * 16 * xH * xW<= 1024 * 1024
  • 当N > 1,2 * 16 * CEIL(C,16) * 16 * xH * xW <= 1024 * 1024

【量化工具支持】

15

Interp

插值层

【输入】

1个输入

【参数】

  • height:可选,类型:int32,默认为0
  • width:可选,类型:int32, 默认为0
  • zoom_factor:可选,类型:int32, 默认为1
  • shrink_factor:可选,类型:int32, 默认为1
  • pad_beg:可选,类型:int32, 默认为0
  • pad_end:可选,类型:int32, 默认为0

    说明:

  • zoom_factor与shrink_factor不能同时存在
  • height与zoom_factor不能同时存在
  • height与shrink_factor不能同时存在

    【约束】

    (outputH*outputW)/(inputH*inputW) > 1/30

【量化工具支持】

16

Log

对输入进行log计算

【输入】

1个输入

【参数】

  • base:可选,类型:float,默认为-1.0
  • scale:可选,类型:float,默认为1.0
  • shift:可选,类型:float,默认为0.0

    【约束】

    无限制

【量化工具支持】

17

LRN

局部响应归一化层

【输入】

1个输入,不支持常量输入

【参数】

  • local_size:可选,类型:uint32,默认为5
  • alpha:可选,类型:float,默认为1.
  • beta:可选,类型:float,默认为0.75
  • norm_region:可选,类型:枚举型,默认为ACROSS_CHANNELS,(ACROSS_CHANNELS=0;WITHIN_CHANNEL = 1)
  • lrnk:可选,类型:float,默认为1.
  • engine:可选,类型:枚举型(DEFAULT = 0;CAFFE = 1; CUDNN = 2)

    【约束】

  • local_size >0,且必须为奇数
  • 通道间: 当local_size∈[1,15]时,lrnK>0.00001且beta>0.01,否则lrnK和beta为任意值;LrnK和alpha不同时为0;当C维度大于1776时,local_size <1728; 通道内: LrnK=1,local_size∈[1,15],beta>0.01;

【量化工具支持】

18

LSTM

长短期记忆网络

【输入】

2个或3个输入

X: 时间序列数据(T*B*Xt),按4D的NCHW格式排布传入,需要保证:N对应时间序列长度T,C对应Batch数B,H对应t时刻的输入数据Xt,W取1;

Cont:序列连续性标志(T*B)

Xs: 静态数据(B*Xt),可选

【参数】

  • num_output:可选,类型:uint32,默认为0
  • weight_filler:不支持设置该参数
  • bias_filler:不支持设置该参数
  • debug_info:可选,类型:bool,默认为false
  • expose_hidden:可选,类型:bool,默认为false

【约束】

  • 此约束涉及中间变量计算,公式如下,其中ht和output对应属性num_output:

a = (ALIGN(xt,16) + ALIGN(output,16)) * 16 * 2 * 2

b = (ALIGN(xt,16) + ALIGN(output,16)) * 16 * 4 * 2 * 2

d = 16 * ALIGN(ht,16) * 2

e = batchNum* 4

则,约束为:

a + b <= 1024 * 1024;

d <= 256*1024 / 8;

e <= 256*1024 / 32;

  • B<=16,T<=768。

【量化工具支持】

19

Normalize

标准化层

【输入】

1个输入

【参数】

  • across_spatial:可选,类型:bool,默认为true
  • scale_filler:不支持设置该参数
  • channel_shared:可选,类型:bool,默认为true
  • eps:可选,类型:float,默认为1e-10

    【约束】

  • eps应大于1e-7,并且小于等于0.1+(1e-6);
  • caffe框架中的参数across_spatial目前只支持true,按channel进行norm操作。

【量化工具支持】

20

Permute

将输入维度按照给定模式进行重排

【输入】

1个输入

【参数】

  • order: uint32,数组

【约束】

无约束

【量化工具支持】

21

Pooling

池化层

【输入】

1个输入

【参数】

  • pool: 池化方法,可选,类型:枚举,取值:MAX=0,AVE=1,STOCHASTIC = 2,默认为MAX
  • pad: 可选,类型:uint32,默认为0
  • pad_h: 可选,类型:uint32,默认为0
  • pad_w: 可选,类型:uint32,默认为0
  • kernel_size: 可选,类型:uint32,kernel_size和kernel_h/kernel_w不能同时出现
  • kernel_h: 可选,类型:uint32
  • kernel_w: 可选,类型:uint32,kernel_h/kernel_w必须同时存在
  • stride: 可选,类型:uint32,默认为1
  • stride_h: 可选,类型:uint32
  • stride_w: 可选,类型:uint32
  • engine: 可选,类型:枚举,取值:DEFAULT=0,CAFFE=1,CUDNN=2
  • global_pooling: 可选,类型:bool,默认值为false
  • ceil_mode: 可选,类型:bool,默认为true
  • round_mode: 可选,类型:枚举,取值:CEIL=0,FLOOR=1;默认为CEIL

    【约束】

  • kernelH<=inputH+padTop+padBottom
  • kernelW<=inputW+padLeft+padRight
  • padTop<windowH
  • padBottom<windowH
  • padLeft<windowW
  • padRight<windowW
  • 除公共约束外,还需满足下列某一场景支持范围

global pool模式只支持以下范围

1) outputH==1 && outputW==1 && kernelH>=inputH && kernelW>=inputW

2) inputH*inputW<=10000

【量化工具支持】

22

Power

计算 y = (scale*x+shift)^ power

【输入】

1个输入

【参数】

  • power: 可选,类型:float,默认为1.0
  • scale: 可选,类型:float,默认为1.0
  • shift: 可选,类型:float,默认为0.0

    【约束】

  • power!=1
  • scale*x+shift>0

【量化工具支持】

23

Prelu

激活函数

【输入】

1个输入

【参数】

  • filler: 不支持设置该参数
  • channel_shared: 可选,类型:bool,默认为false,是否跨channel共享斜率参数

    【约束】

    无限制

【量化工具支持】

24

PriorBox

从目标预选框获取真实目标的位置

【输入】

2个输入,包括:

  • 模型的原始输入图片,数据格式:NCHW;
  • 特征图,数据格式:NCHW。

    【参数】

  • min_size: 必须设置,最小框大小(以像素为单位)
  • max_size: 必须设置,最大框大小(以像素为单位)
  • aspect_ratio: 数组;类型:float;各种宽高比,重复的比率将被忽略,如果没有提供,使用默认比率1
  • flip: 可选,类型:bool,默认为true;如果为true,将翻转每个宽高比,例如,如果有宽高比‘r’,也将生成宽高比‘1.0/r’
  • clip: 可选,类型:bool,默认为false;如果为true,将剪切先前的值,使其在[0, 1]范围内
  • variance: 数组;调整先前bbox的方差
  • img_size: 可选,类型:uint32,img_size与img_h/img_w不能同时存在
  • img_h: 可选,类型:uint32
  • img_w: 可选,类型:uint32
  • step: 可选,类型:float,step与step_h/step_w不能同时存在
  • step_h: 可选,类型:float
  • step_w: 可选,类型:float
  • offset: 类型:float,默认为0.5

    【约束】

    只支持ssd网络。

    输出维度:[n,2,检测框*4,1]。

【量化工具支持】

25

Proposal

将预选框通过(proposal, score)排序,通过nms获取topN proposal

【输入】

3个输入(scores,bbox_pred,im_info)

【参数】

  • feat_stride: 可选,类型:float
  • base_size: 可选,类型:float
  • min_size: 可选,类型:float
  • ratio: 数组;类型:float
  • scale: 数组;类型:float
  • pre_nms_topn: 可选,类型:int32
  • post_nms_topn: 可选,类型:int32
  • nms_thresh: 可选,类型:float

    【约束】

    只用于fastercnn

  • ProposalParameter、PythonParameter不能同时存在

    1.preTopK范围为1~6144

    2.postTopK范围为1~1024

    3.scaleCnt*ratioCnt的最大值支持到64

    4.nmsTresh:过滤框使用的阈值,0<nmsTresh<=1

    5.minSize:框的边长的最小值,所有小于此最小值的框将会被过滤掉

    6.featStride:在生成默认框时,指定两个相邻的框延H或W的步长

    7.baseSize:用来生成默认框用到的参数,表示框的基本大小

    8.ratio & scale:生成默认框用到的参数

    9.imgH&imgW:输入到网络的图片高和宽,其值必须大于0

  • input维度约束:

    clsProb:C=2*scaleCnt*ratioCnt

    bboxPred:C=4*scaleCnt*ratioCnt

    bboxPrior:N=clsProb.N,C=4*scaleCnt*ratioCnt

    imInfo:N=clsProb.N,C=3

【量化工具支持】

26

PSROIPooling

位置敏感的区域池化

【输入】

2个输入

【参数】

  • spatial_scale: 必须配置,类型: float
  • output_dim: 必须配置,类型: int32,输出通道数
  • group_size: 必须配置,类型: int32,编码位置敏感分数图的组数

    【约束】

用于RFCN网络

  • 输入Roi框的坐标信息为[roiN, roiC, roiH, roiW],格式范围是:1<= roiN <=65535,roiC == 5,roiH == 1,roiW == 1;
  • 输入的featuremap维度为[xN,xC,xH,xW]
  • pooledH==pooledW==groupSize <= 128

[pooledH pooledW ]表示pool框的长宽

输出的格式 y[yN, yC, yH, yW]

  • poolingMode == avg pooling, pooledH == pooledW == groupSize, pooledH <= 128, spatialScale > 0, groupSize > 0, outputDim > 0;
  • 1<=xN<=65535, roisN % xN == 0;
  • HW_LIMIT是xh、xw的约束

xHW = xH * xW,

pooledHW = pooledH * pooledW,

HW_LIMIT = (64*1024–8*1024) / 32,

xH >= pooledH,xW >= pooledW,

xHW >= pooledHW,

xHW/pooledHW<=HW_LIMIT;

  • 多batch场景时,每个batch的roi框个数相同,且roi的batch排列顺序与feature相同。

【量化工具支持】

27

Relu

激活函数,同时包含普通的relu和leaky relu,可通过参数指定

【输入】

1个输入

【参数】

  • negative_slope: 可选,类型:float,默认为0
  • engine: 可选,类型:枚举,取值:DEFAULT=0,CAFFE=1,CUDNN=2

    【约束】

    无限制

【量化工具支持】

28

Reshape

改变输入维度

【输入】

1个输入

【参数】

  • shape: 常量,类型:int64或int
  • axis: 可选,类型:int32,默认为0
  • num_axes: 可选,类型:int32,默认为-1

    【约束】

    无限制

【量化工具支持】

29

ROIAlign

一种区域特征聚集的方式

【输入】

至少有2个输入

【参数】

  • pooled_h: 可选,类型:uint32,默认为0
  • pooled_w: 可选,类型:uint32,默认为0
  • spatial_scale: 可选,类型:float,默认为1
  • sampling_ratio: 可选,类型:int32,默认为-1

    【约束】

主要用于maskrcnn

FeatureMap(特征图)约束:

  • H * W <= 5248或 W * C < 40960;
  • C <= 1280;
  • ((C-1)/128+1)*pooledW <= 216;

    RoI(感兴区域)约束:

  • C=5(caffe) ,H=1,W=1;
  • samplingRatio*pooledW <= 128且samplingRatio*pooledH <= 128;
  • H >= pooledH, W >= pooledW。

【量化工具支持】

30

ROIPooling

将“候选框”映射到特征图上

【输入】

至少有2个输入

【参数】

  • pooled_h: 必须设置,类型:uint32,默认为0
  • pooled_w: 必须设置,类型:uint32,默认为0
  • spatial_scale: 必须设置,类型:float;默认为1;乘法空间比例因子将ROI坐标从其输入比例转换为pool时使用的比例

    【约束】

主要用于fasterrcnn

  • 输入维度:H * W<=8160; 且H <=120; 且 W<=120;
  • 输出维度:pooledH <=20, 且pooledW <=20。

【量化工具支持】

31

Scale

out=alpha*Input+beta

【输入】

2个输入,input的dim 为4

【参数】

  • axis: 可选,类型:int32,默认为1,仅支持axis为1或者-3
  • num_axes: 可选,类型:int32,默认为1
  • filler: 不支持设置该参数
  • bias_term: 可选,类型:bool,默认为false;是否也学习bias(相当于ScaleLayer + BiasLayer,但可能更有效率
  • bias_filler: 不支持设置该参数

【约束】

scale,bias的shape只支持(n,c,1,1),且c维度与input的c维度相等;

【量化工具支持】

32

ShuffleChannel

帮助信息在特征通道交叉流动

【输入】

1个输入

【参数】

group: 可选,类型:uint32,默认为1

【约束】

无限制

【量化工具支持】

33

Sigmoid

激活函数

【输入】

1个输入

【参数】

engine: 可选,类型:枚举,取值:DEFAULT=0,CAFFE=1,CUDNN=2

【约束】

无限制

【量化工具支持】

34

Slice

将输入分解成多个输出

【输入】

1个输入

【参数】

  • slice_dim: 可选,类型:uint32,默认为1;axis和slice_dim不能同时存在
  • slice_point: 数组;类型:uint32
  • axis: 可选,类型: int32,默认为1(表示沿channel拼接);

    【约束】

    无限制

    【输出】

    无限制

【量化工具支持】

35

Softmax

归一化逻辑函数

【输入】

1个输入

【参数】

  • engine: 可选,取值:DEFAULT=0,CAFFE=1,CUDNN=2
  • axis: 可选,类型:int32,默认为1;表示沿哪个axis作softmax

    【约束】

输入4维时可以针对每一维做softmax:

根据分类的轴不同,计算边界分别为

axis=1时,C<=((256*1024/4)-8*1024-256)/2;

axis=0时,N<=(56*1024-256)/2;

axis=2时,W=1, 0<H<(1024*1024/32);

axis=3时,0<W<(1024*1024/32)

输入维度不足4维时,仅支持对最后一维做softmax计算,并且最后一维不超过46080。

【量化工具支持】

36

Tanh

激活函数

【输入】

1个输入

【参数】

engine: 可选,类型:枚举,取值:DEFAULT=0,CAFFE=1,CUDNN=2

【约束】

输入tensor元素个数不超过INT32_MAX

【量化工具支持】

37

Upsample

maxpool的反向传播过程

【输入】

2个输入

【参数】

scale: 可选,类型:int32,默认为1

【约束】

无限制

【量化工具支持】

38

SSDDetectionOutput

SSD网络检测输出

【输入】

3个输入

【参数】

  • num_classes: 必选,类型:int32,要预测的类数
  • share_location: 可选,类型: bool,默认为true(表示不同类间共享bounding box)
  • background_label_id: 可选,类型:int32,默认为0
  • nms_param: 可选,非最大抑制
  • save_output_param: 可选,用于保存检测结果
  • code_type: 可选,默认为CENTER_SIZE
  • variance_encoded_in_target: 可选,类型:bool,默认为true;如果为true,方差编码在目标中,否则需要相应地调整预测偏移量
  • keep_top_k: 可选,类型:int32,在nms步骤后每个图像要保留的总bbox数;
  • confidence_threshold: 可选,类型:float,仅考虑置信度大于阈值的检测;如果没有设置,考虑所有的box
  • nms_threshold: 可选,类型:float
  • top_k: 可选,类型:int32
  • boxes: 可选,类型:int32,默认为1
  • relative: 可选,类型:bool,默认为true
  • objectness_threshold,可选,类型:float,默认为0.5
  • class_threshold: 可选,类型:float,默认为0.5
  • biases: 数组
  • general_nms_param: 可选

    【约束】

  • 只支持SSD网络
  • preTopK和postTopK的取值范围当前仅支持1~1024;
  • shareLocation 仅支持true;
  • nmsEta 仅支持1;
  • numClasses支持的范围是1~2048;
  • code_type仅支持CENTER_SIZE;
  • nms_threshold和confidence_threshold的范围为0.0~1.0

【量化工具支持】

39

Reorg

实时物体检测

【输入】

1个输入

【参数】

  • stride: 可选,类型:uint32,默认为2
  • reverse: 可选,类型:bool,默认为false

    【约束】

只用于YOLOV2

【量化工具支持】

40

Reverse

逆转

【输入】

1个输入

【参数】

  • axis: 可选,类型:int32,默认为1;控制需翻转的数据轴,内容的布局不会被颠倒

    【约束】

    无限制

【量化工具支持】

41

LeakyRelu

LeakyRelu激活函数

【输入】

1个输入

【参数】

同Relu

【约束】

无限制

【量化工具支持】

42

YOLODetectionOutput

YOLO网络检测输出

【输入】

4个输入

【参数】

  • num_classes: 必选,类型:int32,要预测的类数
  • share_location: 可选,类型: bool,默认为true(表示不同类间共享bounding box)
  • background_label_id: 可选,类型:int32,默认为0
  • nms_param: 可选,非最大抑制
  • save_output_param: 可选,用于保存检测结果
  • code_type: 可选,默认为CENTER_SIZE
  • variance_encoded_in_target: 可选,类型:bool,默认为true;如果为true,方差编码在目标中,否则需要相应地调整预测偏移量
  • keep_top_k: 可选,类型:int32,在nms步骤后每个图像要保留的总bbox数;
  • confidence_threshold: 可选,类型:float,仅考虑置信度大于阈值的检测;如果没有设置,考虑所有的box
  • nms_threshold: 可选,类型:float
  • top_k: 可选,类型:int32
  • boxes: 可选,类型:int32,默认为1
  • relative: 可选,类型:bool,默认为true
  • objectness_threshold,可选,类型:float,默认为0.5
  • class_threshold: 可选,类型:float,默认为0.5
  • biases: 数组
  • general_nms_param: 可选

【约束】

  • 只用于YOLOV2
  • classNUm<10240;anchorBox = 5;
  • W <= 1536;
  • yolodetectionoutput的上层必须为yoloregion算子。

【量化工具支持】

分享:

    相关文档

    相关产品