博客
关于我
TensorFlow学习--SAME与VALID区别
阅读量:142 次
发布时间:2019-02-27

本文共 750 字,大约阅读时间需要 2 分钟。

CNN中的卷积层和池化层的Padding方式

在CNN(卷积神经网络)架构中,卷积层和池化层的Padding方式对模型的性能和效果有着重要影响。TensorFlow中的tf.nn.conv2d()tf.nn.max_pool()函数提供了两种主要的Padding选择:'VALID''SAME'。以下是这两种方式的详细说明。


1. Padding方式:VALID

VALID模式下,没有填充操作(Padding为0)。这种方式会导致输出的尺寸相对于输入的尺寸有所缩小。具体来说,当使用3x3的卷积核对7x7的图像进行卷积操作时,若步长(Stride)为1,输出的尺寸将变为5x5。

示意图:

输入图像尺寸:7x7卷积核尺寸:3x3步长(Stride):1输出图像尺寸:5x5

说明:

  • 没有填充意味着边缘的像素会被舍去。
  • 这种方式适用于控制模型的复杂度,尤其是在需要减少计算量的情况下。
  • 输出尺寸的减少会使得模型的参数数量相应减少,从而影响性能。

2. Padding方式:SAME

SAME模式下,会对输入图像进行边界填充,填充值为0。这种方式能够确保输出的尺寸与输入的尺寸一致,不会丢失边缘元素。

示意图:

输入图像尺寸:7x7卷积核尺寸:3x3步长(Stride):1输出图像尺寸:7x7

说明:

  • 填充边界使得卷积核能够完整地覆盖输入图像的每一个像素。
  • 这种方式保留了所有原始图像的像素信息,不会引入额外的边缘丢失。
  • 输出尺寸与输入尺寸一致,适合需要保持图像尺寸不变的情况。

3. Padding方式的综合比较

  • `VALID``:输出尺寸减小,适用于控制模型复杂度。
  • SAME:输出尺寸与输入一致,适用于需要保留图像边缘信息的情况。

选择哪种Padding方式取决于具体的应用场景和模型需求。

转载地址:http://swid.baihongyu.com/

你可能感兴趣的文章
Objective-C实现计算星座(附完整源码)
查看>>
Objective-C实现计算相似度算法(附完整源码)
查看>>
Objective-C实现计算矩阵中岛屿数量算法(附完整源码)
查看>>
Objective-C实现设置或清除数字指定偏移量上的位setBit算法(附完整源码)
查看>>
Objective-C实现设置文件最后修改时间(附完整源码)
查看>>
Objective-C实现设置默认音频设备(附完整源码)
查看>>
Objective-C实现访问SQL实例(附完整源码)
查看>>
Objective-C实现读写bmp文件 (附完整源码)
查看>>
Objective-C实现读写二进制文件(附完整源码)
查看>>
Objective-C实现读写蓝牙串口(附完整源码)
查看>>
Objective-C实现读写锁(附完整源码)
查看>>
Objective-C实现调度器(附完整源码)
查看>>
Objective-C实现调节笔记本屏幕亮度(附完整源码)
查看>>
Objective-C实现调节系统音量(与任务栏音量同步)(附完整源码)
查看>>
Objective-C实现软键盘功能(附完整源码)
查看>>
Objective-C实现输入两个浮点数,输出它们中的大数(附完整源码)
查看>>
Objective-C实现输出不同类型所占的字节数(附完整源码)
查看>>
Objective-C实现辗转相除法(附完整源码)
查看>>
Objective-C实现辗转相除法算法(附完整源码)
查看>>
Objective-C实现边缘检测Canny(附完整源码)
查看>>