zoukankan      html  css  js  c++  java
  • Tensorflow2.0笔记31——卷积神经网络

    Tensorflow2.0笔记

    本博客为Tensorflow2.0学习笔记,感谢北京大学微电子学院曹建老师

    2.5输出特征计算

    ​ 输出特征尺寸计算:在了解神经网络中卷积计算的整个过程后,就可以对输出特征图的尺寸进行计算,如图 5-8 所示,5×5 的图像经过 3×3 大小的卷积核做卷积计算后输出特征尺寸为 3×3。

    2.6全零填充

    ​ 为了保持输出图像尺寸与输入图像一致,经常会在输入图像周围进行全零填充,如图 5-9 所示,在 5×5 的输入图像周围填 0,则输出特征尺寸同为 5×5。

    image-20210624082359377

    image-20210624082414296

    ​ 上下两行分别代表对输入图像进行全零填充或不进行填充,对于 5×5×1 的图像来说,当 padding = ‘SAME’时,输出图像边长为 5;当 padding = ‘VALID’时,输出图像边长为 3。具备以上知识后,就可以在 Tensorflow 框架下利用 Keras 来构建 CNN 中的卷积层,使用的是 tf.keras.layers.Conv2D 函数,具体的使用方法如下:

    tf.keras.layers.Conv2D(
    input_shape = (高, 宽, 通道数), #仅在第一层有filters = 卷积核个数,
    kernel_size = 卷积核尺寸, strides = 卷积步长,
    padding = ‘SAME’ or ‘VALID’,
    activation = ‘relu’ or ‘sigmoid’ or ‘tanh’ or ‘softmax’等 #如有 BN 则此处不用写
    )
    

    ​ 使用此函数构建卷积层时,需要给出的信息有:

    A) 输入图像的信息,即宽高和通道数;

    B) 卷积核的个数以及尺寸,如 filters = 16, kernel_size = (3, 3)代表采用 16 个大小为 3×3 的卷积核;

    C) 卷积步长,即卷积核在输入图像上滑动的步长,纵向步长与横向步长通常是相同的,默认值为 1;

    D) 是否进行全零填充,全零填充的具体作用上文有描述;

    E) 采用哪种激活函数,例如 relu、softmax 等,各种函数的具体效果在前面章节中有详细描述;

    ​ 这里需要注意的是,在利用 Tensorflow 框架构建卷积网络时,一般会利用 BatchNormalization 函数来构建 BN 层,进行批归一化操作,所以在 Conv2D 函数中经常不写 BN。BN 操作的具体含义和作用见下文。

  • 相关阅读:
    文件下载
    python生成pdf
    python保存文件到数据库
    html 表格边线设置
    形态学函数cvMorphologyEx
    图像的形态学梯度
    opencv图像二值化的函数cvThreshold()。 cvAdaptiveThreshol
    自适应二值化的经典方法------大律法
    基于局部阈值化的图像二值化
    边缘检测常见算法
  • 原文地址:https://www.cnblogs.com/wind-and-sky/p/14925526.html
Copyright © 2011-2022 走看看