• tensroflow中如何计算特征图的输出及padding大小


    根据tensorflow中的conv2d函数,我们先定义几个基本符号
    1、输入矩阵 W×W,这里只考虑输入宽高相等的情况,如果不相等,推导方法一样,不多解释。
    2、filter矩阵 F×F,卷积核
    3、stride值 S,步长
    4、输出的特征图高宽为 new_height、new_width
    当然还有其他的一些具体的参数,这里就不再说明了。
    我们知道,padding的方式在tensorflow里分两种,一种是VALID,一种是SAME,下面分别介绍这两种方式的实际操作方法。
    1、如果padding = ‘VALID’
    new_height = new_width = (W – F + 1) / S (结果向上取整)
    也就是说,conv2d的VALID方式不会在原有输入的基础上添加新的像素(假定我们的输入是图片数据,因为只有图片才有像素),输出矩阵的大小直接按照公式计算即可。
    2、如果padding = ‘SAME’
    new_height = new_width = W / S (结果向上取整)
    在高度上需要pad的像素数为
    pad_needed_height = (new_height – 1)  × S + F - W
    根据上式,输入矩阵上方添加的像素数为
    pad_top = pad_needed_height / 2  (结果取整)
    下方添加的像素数为
    pad_down = pad_needed_height - pad_top
    以此类推,在宽度上需要pad的像素数和左右分别添加的像素数为
    pad_needed_width = (new_width – 1)  × S + F - W
    pad_left = pad_needed_width  / 2 (结果取整)
    pad_right = pad_needed_width – pad_left
  • 相关阅读:
    xhr1.0和xhr2.0的区别
    Java10-堆和栈
    Java09-函数
    Java08-函数
    java基础7-流程控制3
    Java基础-流程控制2
    Java基础—流程控制1
    breadcrumbs面包屑是啥?
    Font test 字体大小测试用JS代码实现
    数据库密码要BS64才能登录
  • 原文地址:https://www.cnblogs.com/cnugis/p/11898770.html
Copyright © 2020-2023  润新知