深度学习常用算子(二)(转)
转自:https://blog.csdn.net/zhuhaodonglei/article/details/100014178?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-100014178-blog-100013802.pc_relevant_antiscanv2&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-100014178-blog-100013802.pc_relevant_antiscanv2&utm_relevant_index=1
1、Tensor维度变换
1)Flatten
作用:将输入tensor中从start_axis维度到end_axis维度合并为1维
2)Reshape
作用:将输入Tensor描述转换为新的shape
3)FreespaceExtract
作用:将h维变成1,其他维度不变,从而完成对h的采样,采样值所在位置由输入的index参数决定
4)Pack
作用:Pack算子为TensorFlow原生算子,最新的版本已经改名为:Stack。该算子以指定的轴axis,将一个维度为R的张量数组转变成一个维度为R+1的张量。
5)Pad
作用:进行数据扩充
6)Permute
作用:调整Tensor的输入维度顺序
7)ShuffleChannel
作用:调整C维的排序
使用网络:ShuffleNet
8)Title
作用:将输入数据在每个维度上复制指定次数来生成输出数据
2、Tensor单个元素运算
1)Rsqrt
公式:y = 1 / sqrt{x}
2)Scale
公式:y(x)=scale*x+bias
3)AbsVal
公式:y(x)=|x|
4)Power
公式:f(x)= (scale * x + shift) ^ power
3、分类
Softmax
公式:
作用:通常作为分类网络的最后一层,输出每类的概率
4、画框
1)ClipBoxes
作用:将输入的框坐标限制在[0,img_w-1]和[0,img_h-1]之间。
2)DecodeBoxes
作用:将输入框的长宽坐标转换为描点坐标(框中心点坐标和长宽),然后进行修正,修正后再替换回长宽坐标
3)DetectPostProcess
作用:
(1)对输入的框进行修正;
(2)按照得分进行排序;
(3)使用NMS进行过滤;
(4)每个分类取前N个框输出。
4)FasterRcnnPredictions
作用:获取得分最高的N个框,需要进行NMS处理。
使用网络:MaskRcnn
5)FSRDectionOutput
作用:获取得分最高的N个框,需要进行NMS处理
输入数据:每个分类的得分数据、roi坐标、roi偏移、feature map的长和宽
使用网络:FasterRcnn
6)GenerateRPNProposals
作用:根据输入rois坐标和得分,输出排序和NMS处理后的前N个框,框坐标形式为左上角和右下角
使用网络:Mask Rcnn
7)Proposal
作用:根据锚点前后得分、锚点偏移、原始图片的长宽缩放,来获取得分最高的N个预选框;
特点:对特征图上的每个点,生成scale*ratio个固定大小的窗口;即候选窗口是该算子生成的。
8)SsdDetectionOutput
作用:用来生成预测框相对原图的真实坐标,并对所有预测框进行过滤,得到最终物体检测的结果。输出的每个预测框的信息包括image id ,lable, confidence以及四个坐标值。
使用网络:SSD
8)SsdPriorBox
作用:生成预选框
使用网络:SSD
5、拼接
Concat:实现多个算子的拼接
6、旋转/缩放/平移/剪切
spatial transform
参考:https://blog.csdn.net/qq_39422642/article/details/78870629
作用:在CNN之前对feature map进行旋转、缩放、平移、剪切等操作
使用网络:Spatial Transformer Networks(STN)
————————————————
版权声明:本文为CSDN博主「gapostal」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zhuhaodonglei/article/details/100014178