zoukankan      html  css  js  c++  java
  • 转载:cnn学习之卷积或者池化后输出的map的size计算

    相信各位在学习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。或者复制边界的值等等。
  • 相关阅读:
    redis 命令行 操作
    redis php sort 函数
    redis php 实例二
    redis php 实例一
    redis 分布式,主从同步
    inux redis 安装配置, 以及redis php扩展
    linux memcache 安装
    推荐linux命令在线查,简约而不简单
    基于Bootstrap样式的 jQuery UI 控件 (v0.5).
    C语言中文网
  • 原文地址:https://www.cnblogs.com/txq157/p/9013910.html
Copyright © 2011-2022 走看看