cnn学习之卷积或者池化后输出的map的size计算
2017-09-13 11:02
211 查看
相信各位在学习cnn的时候,常常对于卷积或者池化后所得map的的大小具体是多少,不知道怎么算。尤其涉及到边界的时候。
首先需要了解对于一个输入的input_height*input_widtht的图像,在卷积或者池化的时候,经常需要加padding,这是为了处理边界问题时而采用的一种方式,于是原输入就变成了下图所示:
对于输出的size计算 如下图:
out_height=((input_height - filter_height + padding_top+padding_bottom)/stride_height )+1
out_width=((input_width - filter_width + padding_left+padding_right)/stride_width )+1
只不过往往
out_height=out_width ,
input_height = input_width
fillter_height=filter_width padding_top=padding_bottom=padding_left=padding_right
stride_width=stride_height罢了
此外对于当前主流的cnn框架
tensorflow中是如此计算的:
首先对于padding有两个默认的选项same和valid ,如果是valid的话,则padding的四个值均为0,也就是没有padding
对于same,计算方式如下图,图中out的值可以直接计算出来的原因是因为padding的值是一个根据输入的定值的;大家把pad_along_height的等式转化成,左边是out_height,右边是其他的形式。就一样了。
其他的框架,比如caffe,应该都是自己设置padding的值大小。
至于padding出来的区域的值,一般填0。或者复制边界的值等等。
首先需要了解对于一个输入的input_height*input_widtht的图像,在卷积或者池化的时候,经常需要加padding,这是为了处理边界问题时而采用的一种方式,于是原输入就变成了下图所示:
对于输出的size计算 如下图:
out_height=((input_height - filter_height + padding_top+padding_bottom)/stride_height )+1
out_width=((input_width - filter_width + padding_left+padding_right)/stride_width )+1
只不过往往
out_height=out_width ,
input_height = input_width
fillter_height=filter_width padding_top=padding_bottom=padding_left=padding_right
stride_width=stride_height罢了
此外对于当前主流的cnn框架
tensorflow中是如此计算的:
首先对于padding有两个默认的选项same和valid ,如果是valid的话,则padding的四个值均为0,也就是没有padding
对于same,计算方式如下图,图中out的值可以直接计算出来的原因是因为padding的值是一个根据输入的定值的;大家把pad_along_height的等式转化成,左边是out_height,右边是其他的形式。就一样了。
其他的框架,比如caffe,应该都是自己设置padding的值大小。
至于padding出来的区域的值,一般填0。或者复制边界的值等等。
相关文章推荐
- cnn学习之卷积或者池化后输出的map的size计算
- CNN 卷积之后 map大小的计算
- CNN中感受野(receptive field)计算及一层输入和输出size之间的关系计算
- 深度学习之CNN一 卷积与池化
- 深度学习图片卷积输出大小计算公式
- CNN-卷积层和池化层学习
- caffe学习:卷积计算
- 深度学习系列之YOLOv2 mAP计算
- 循环录入5个人的年龄,并计算平均年龄,如果录入的数据出现负数或者大于130的数,立即停止输出报错(无需打印平均年龄)
- 分布式基础学习【二】 —— 分布式计算系统(Map/Reduce)
- TextKit学习 通过boundingRectWithSize:options:attributes:context:计算文本尺寸
- 学习笔记TF014:卷积层、激活函数、池化层、归一化层、高级层
- 【深度学习-CNN】CNN中的参数与计算量
- caffe中卷积层和pooling层计算下一层的特征map的大小
- 神经网络与深度学习笔记——3.3计算神经网络输出
- 深度学习 —— 卷积神经网路 CNN
- 分布式基础学习【二】 —— 分布式计算系统(Map/Reduce)
- tensorflow CNN 卷积神经网络中的卷积层和池化层的代码和效果图
- 【深度学习-CNN】CNN中的参数与计算量