最近在用tensorflow搭建卷积神经网络,遇到了一个比较棘手的问题,我一直理解的padding有两个值,一个是SAME,一个是VALID,如果padding设置为SAME,则说明输入图片大小和输出图片大小是一致的,如果是VALID则图片经过滤波器后可能会变小。 
如下图: 
 

从程序中可以看出我的输入是5*5*3,过滤器是3*3*3,padding设置的值是SAME,所以我一开始预想的是输出5*5*7(有7个过滤器),可是最后程序运行的结果是3*3*7,和我预想的不一致,原来tensorflow官网定义的padding如下:

padding = “SAME”输入和输出大小关系如下:

 
输出大小等于输入大小除以步长向上取整,s是步长大小;


padding = “VALID”输入和输出大小关系如下:

 
输出大小等于输入大小减去滤波器大小加上1,最后再除以步长(f为滤波器的大小,s是步长大小)。


因此还是上述的那个例子,我的输入是5*5*3,滤波器是3*3*3,padding= “SAME”,步长s = 2,因此根据公式我的输出是(5/2=2.5),2.5向上取整是3,因此符合上述程序输出的结果,如果我将padding的值改成“VALID”,则最后的输出结果是 
(5-3+1)/2=1.5,1.5向上取整是2,因此输出应该是2*2*7。 
如下图: 
 

程序运行符合结果!

TensorFlow中padding卷积的两种方式“SAME”和“VALID”相关推荐

  1. padding卷积的两种方式“SAME”和“VALID”

    conv2d是常用的实现卷积的,Tensorflow调用Conv的api时,常用代码如下: 查看:https://tensorflow.google.cn/api_docs/python/tf/nn/ ...

  2. 实验四:使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用

    贺邦+原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 实验目的: 使用库函数 ...

  3. Java中HashMap遍历的两种方式

    第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Ma ...

  4. 使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用

    实验4:使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用 姓名:李冬辉 学号:20133201 注: 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http ...

  5. sh执行文件 参数传递_详解shell中脚本参数传递的两种方式

    方式一:$0,$1,$2.. 采用$0,$1,$2..等方式获取脚本命令行传入的参数,值得注意的是,$0获取到的是脚本路径以及脚本名,后面按顺序获取参数,当参数超过10个时(包括10个),需要使用${ ...

  6. WCF中的ServiceHost初始化两种方式

    在宿主程序中初始化ServiceHost有直接写代码和使用配置文件两种方式.使用ServiceHost首先要引用System.ServiceModel 命名空间. 1 代码方式 using(Servi ...

  7. Java并发基础01. 传统线程技术中创建线程的两种方式

    传统的线程技术中有两种创建线程的方式:一是继承Thread类,并重写run()方法:二是实现Runnable接口,覆盖接口中的run()方法,并把Runnable接口的实现扔给Thread.这两种方式 ...

  8. Java中实现多线程的两种方式之间的区别

    Java提供了线程类Thread来创建多线程的程序.其实,创建线程与创建普通的类的对象的操作是一样的,而线程就是Thread类或其子类的实例对象.每个Thread对象描述了一个单独的线程.要产生一个线 ...

  9. WCF中的ServiceHost初始化两种方式(宿主)

    在宿主程序中初始化ServiceHost有直接写代码和使用配置文件两种方式.使用ServiceHost首先要引用System.ServiceModel 命名空间. 1 代码方式 using(Servi ...

最新文章

  1. Wtm Blazor来了!
  2. java的流传输的进度条_JAVA程序设计(17)----- 制作文件拷贝软件 进程 输入流输出流 NIO 进度条 底层拷贝 多线程...
  3. 三位bcd加法计数器_两个8位BCD编号的加法| 8085微处理器
  4. 关于QR二维码的编码模式
  5. Maven 单元测试报错:错误: 找不到或无法加载主类 @{failsafeArgLine}
  6. python多线程,多进程,线程池,进程池
  7. RESTful中不同HTTP请求类型的含义
  8. c#委托和事件的介绍
  9. 百度AI输入法发布全感官输入2.0版本,语音技术取得世界级突破
  10. ps制作计算机考试证件照,如何通过PS制作一寸证件照(超详细流程)?
  11. Azure Kinect微软摄像头Unity开发小结
  12. latex normal是几号字_LaTeX 中英文字体字号设置
  13. 【Auto Proxy】自研Go语言自动代理工具软件
  14. 校园采花经历(超级爆笑)
  15. java autoconf_「Autoconf」- 安装 @20210202
  16. iOS解决UITableView头部和底部出现空白间隙的折腾
  17. 安全科普:使用Cookie会导致哪些安全问题?
  18. PCA实验人脸库-人脸识别(四)
  19. 树莓派4B安装OpenCV教程
  20. 人脸识别发展的关键技术是什么?

热门文章

  1. 自然语言处理中的模式(模式0:模式无处不在模式)
  2. 一条SQL语句执行得很慢的原因有哪些?
  3. sql超低级用法(防遗忘)
  4. Web前端开发笔记——第四章 JavaScript程序设计 第四节 条件语句和循环语句
  5. 神舟Z7 KP5D1驱动
  6. 服务器端使用sendRedirect跳转到客户端异常
  7. JLabel标签文字换行
  8. bean 属性设置默认值_activiti7源码分析之引擎初始化与Bean注入
  9. python web框架对比_Python六大开源框架对比
  10. 64位linux安装mysql数据库吗_CentOS7 64位安装mysql教程