zoukankan      html  css  js  c++  java
  • tf.nn.conv_2d

    tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=None, name=None) 结果返回一个Tensor,这个输出,就是我们常说的feature map

    input

    指需要做卷积的输入图像,它要求是一个Tensor,具有[batch, in_height, in_width, in_channels]这样的shape,具体含义是[训练时一个batch的图片数量, 图片高度, 图片宽度, 图像通道数],注意这是一个4维的Tensor,要求类型为float32和float64其中之一.

    filter

    相当于CNN中的卷积核,它要求是一个Tensor,具有[filter_height, filter_width, in_channels, out_channels]这样的shape,具体含义是[卷积核的高度,卷积核的宽度,图像通道数,卷积核个数],要求类型与参数input相同,有一个地方需要注意,第三维in_channels,就是参数input的第四维.

    strides

    卷积时在图像每一维的步长,这是一个一维向量,长度4。步长不为1的情况,文档里说了对于图片,因为只有两维,通常strides取[1,stride,stride,1]。(image_batch_size_stride,image_height_stride,image_width_stride,image_channels_stride )。第 1 个和最后一个跨度参数通常很少修改,因为它们会在 tf.nn.conv2d 运算中跳过一些数据,从而不将这部分数据予以考虑。如果希望降低输入的维数,可修改 image_height_stride 和 image_width_stride 参数。

    padding

    string类型的量,只能是”SAME”,”VALID”其中之一,这个值决定了不同的卷积方式。

    SAME:卷积输出与输入的尺寸相同。这里在计算如何跨越图像时,并不考虑滤波器的尺寸。选用该设置时,缺失的像素将用 0 填充,卷积核扫过的像素数将超过图像的实际像素数。

    VALID:在计算卷积核如何在图像上跨越时,需要考虑滤波器的尺寸。这会使卷积核尽量不越过图像的边界。在某些情形下,可能边界也会被填充。

     

     

     

     

  • 相关阅读:
    Scala Ant Tasks
    Git挂钩
    读写文件
    DC10用CSS定位控制网页布局
    table设置colspan属性,列宽显示错位解决方法
    ATM和购物商城-错题集
    python 函数参数多种传递方法
    python 函数 初学
    python 集合 gather
    元组 字体高亮 购物车练习
  • 原文地址:https://www.cnblogs.com/wzdLY/p/10066489.html
Copyright © 2011-2022 走看看