卷积函数tf.nn.conv2d()第一部分——介绍(个人笔记)

卷积函数tf.nn.conv2d()

tensorflow中使用tf.nn.conv2d()函数实现卷积操作,格式如下:
卷积函数tf.nn.conv2d()第一部分——介绍(个人笔记)
除去参数name,与方法有关的参数共5个,代表的含义:

  • input:需要做卷积的输入图像,要求是一个张量(Tensor),形状是:
           [batch, in_height, in_width, in_channels]
    具体含义,训练时一个batch的图片数量,图片高度,图片宽度,图像通道数。(这是一个四维张量,要求类型是float32 和64其中之一)
  • filter:卷积核,要求是一个张量。形状:
           [filter_height, filter_width, in_channels, out_channel]
    具体含义:[卷积核高度,卷积核宽度,图像通道数,卷积核个数]
    要求类型和input相同。
    其中,第三维和input第四维一样都是输入道个数,而第四维是输出通道个数
           批注:彩色图片就是输入通道3,计算方法是:每一个输入通道的图片都使用同一个卷积核进行卷积操作,生成与输入通道相匹配的特征图(feature map),然后再把这几张特征图相同位置上的字加起来。(后面有详细介绍过程)
    输出通道,输出几个特征图,就放几个卷积核,就是几个输出通道。
  • strides:卷积是步长,是一个一维向量,长度为4.
  • padding:定义元素边框与元素内容之间的空间。string的类型,只能是SAME和VALID其中之一。决定不同的卷积方式。为SAME时表示填充到卷积核可以到达图像边缘;VALID时表示边缘不填充。(这个参数是重点
  • use_cudnn_on_gpu:bool类型,是否使用cudnn加速,默认true。
  • 返回值:返回一个张量,也就是特征图。

padding规则介绍
卷积函数tf.nn.conv2d()第一部分——介绍(个人笔记)

卷积函数tf.nn.conv2d()第一部分——介绍(个人笔记)
卷积函数tf.nn.conv2d()第一部分——介绍(个人笔记)

下面的图红色才是正确的。
卷积函数tf.nn.conv2d()第一部分——介绍(个人笔记)
卷积函数tf.nn.conv2d()第一部分——介绍(个人笔记)
未完…