tf.nn.conv2d函数

本文详细介绍了TensorFlow 1.13版本中的二维卷积函数tf.nn.conv2d,探讨了其输入参数、处理逻辑,并特别讨论了padding的'VALID'和'SAME'两种模式的工作原理,引用了官方API文档和源代码作为参考资料。
摘要由CSDN通过智能技术生成

本文以tf1.13版本为例,介绍tensorflow二维卷积conv2d,该函数的输入参数如下: 

tf.nn.conv2d(
    input,                    #shape为(*,*,*,*),4-D的tensor,每个维度的意义与data_fromat对应
    filter=None,              #shape为(*,*,*,*),同input的shape,前两位为滤波器的高和宽,后两位为输入输出通道数
    strides=None,             #shape为(4,), 1-D的tensor,长度为4,对应input中每一维的步长
    padding=None,             #"SAME", "VALID"两种模式
    use_cudnn_on_gpu=True,
    data_format='NHWC',       #另一种模式为"NCHW"
    dilations=[1, 1, 1, 1],   #1-D的向量,长度为4,对应filter相邻两元素在input中对应维度跳跃的像素数,如果值k > 1, 相邻滤波器之间跳跃k-1个像素。
      filter element on that dimension
    name=None,                #运算的名称
)

该函数的处理逻辑如下:

  In detail, with the default NHWC format,

      output[b, i, j, k] =
          sum_{di, dj, q} input[b, strides[1] * i + di, strides[2] * j + dj, q] *
                          filter[di, dj, q, k]

关于padding的两种模式的处理过程,可参考该博客

参考文献:

  1. https://www.tensorflow.org/versions/r1.13/api_docs/python/tf/nn/conv2d
  2. https://github.com/tensorflow/tensorflow/blob/r1.13/tensorflow/python/ops/nn_ops.py
  3. tf.nn.convolution中关于padding的"VALID" or "SAME"操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值