Keras conv2D的简介

176 阅读5分钟

Keras conv2D

Keras conv2D简介

Keras conv2D代表二维模式下的卷积层,负责生成卷积的内核,然后与Keras模型的其他输入层合并,使最终的结果输出包含一个张量。在这篇文章中,我们将深入探讨Keras conv2D的话题,并试图了解什么是Keras conv2D,如何使用Keras conv2D,Keras conv2D框架,Keras conv2D模型,Keras conv2D模型配置,以及关于同一问题的结论。

什么是Keras conv2D?

Keras conv2D是卷积层,它帮助我们生成卷积的内核,以便当它与Keras模型的输入层结合时,模型会产生包含张量的输出。产生的内核是卷积的掩码或矩阵,进一步用于边缘检测、锐化、模糊、浮雕,这些都是通过执行图像和内核的卷积来进行的。

如何使用Keras conv2D?

我们可以简单地在模型编译、拟合和评估后使用它,以便进一步使用。我们需要利用下面提到的类来参考其语法。以下是创建和使用Keras conv2D模型的步骤 -
- 在代码顶部导入必要的库和类。
- 声明模型的配置,包含本文配置部分中提到的所有属性。
- 加载数据。
- 定义输入数据的形状。
-
- 为训练和测试目的对数据进行缩放。
- 创建模型并向其添加所需的conv2D和其他层。
- 模型编译。
- 将用于训练目的的输入数据拟合到模型中。
- 为泛化生成指标并设置verbose值或将结果打印到输出屏幕。

Keras conv2D框架

在处理图像等二维输入时,我们可以利用Keras conv2D来表示这些层。它们的完美表现方式如下图所示

`(keras,n.d)`

Keras conv2D的类定义如下,显示了所有需要传递的参数:

Keras.layers.Conv2D (kernel initializer = glorot uniform, data format = None, strides = (1,1), dilation rate = (1,1), activity regularizer = None, bias regularizer = None, use bias = true, padding = valid, kernel size, filters, bias initializer = zeros, kernel regularizer = None, bias constraint = None, kernel constraint = None, activation = None)

这里使用的作为属性的各种参数在下表中有描述。

属性描述
内核大小一个容纳宽度和高度的像素数,被总结为指定宽度和高度的二维过滤器。
滤波器这里代表了一些要被卷积层学习的过滤器。每一个单独的过滤器都在输入中滑动,以便在结果中创建特征图。
步伐它帮助我们表示内核在作为输入的图像上的跳动方式。例如,当stride的值为1时,内核就会在输入的图像上逐个像素地移动,如果它是2,那么内核就会在输入的图像上跳过一个像素。
填充当内核的过滤器不适合时,可以通过填充来提供指导。其中一种情况是当指定的图像高度和宽度与内核的大小和指定的stride值不匹配时。
数据格式当我们把图像作为输入时,每个图像都对应于特定的通道,如RGB红绿蓝或类似的通道,其值可以是通道第一或通道最后。这些通道存在于最后一个或第一个是由数据格式表示的。最新版本的Keras不需要这个,因为他们支持TensorFlow。
扩张率当使用的卷积是扩张型的,那么扩张率的规范可以在这个属性中完成。
激活函数它以线性格式接收conv2D层的输入,以便将其转换为非线性。
偏置值为每个层指定,用于垂直缩放所学的功能。没有指定时,默认值被设置为启用。
初始化器约束、偏置和正则器的配置可以通过使用初始化器来完成。

Keras conv2D模型

为了在Keras中创建conv2D模型,我们需要有最新版本的Keras,因为它支持conv2D层。在你的系统上安装TensorFlow的第二版或更高版本是很方便的。你可以很容易地找到指导你安装Keras或TensorFlow的资源,只要你在谷歌上搜索或在educba网站本身搜索。还有一件事是,我们需要在你的系统上安装最新版本的python,比如使用Anaconda安装的版本。

在Keras中创建conv2D模型时,需要遵循一些原则,这些原则是:

  • 输入的图像应该被conv2D的各层转换为抽象的表示。
  • 密集连接层可用于生成图像表示中的分类。
  • 请注意,密集层只能够处理一维的数据。如果我们有多维数据,我们首先需要通过最后一个conv2D层或使用flatten层将其转换为单维。

Keras conv2D模型配置

  • 应设置批量大小。例如,如果它被设置为20,那么我们需要为每一个单独的步骤传递20个样本到模型。
  • 应该指定通道的数量、宽度、高度或图像。
  • 应该设置优化器和损失函数的值。
  • 设置no_classes的值。例如,如果你的模型的数据集有15个类,那么no_classes应该被设置为15。
  • 我们将需要指定迭代次数,即epochs的值,可以是任何符合我们要求的整数值。这是我们希望对我们的模型进行迭代训练的次数。
  • 通过使用训练数据进行验证来检查模型是否过拟合,包括在每一次迭代后检查模型的性能。
  • 为了在屏幕上显示输出,我们可以将模式verbosity的值设置为true或等值,如1。

下面的图片显示了我们创建的一个Keras conv2D模型的配置样本:

6

结论

Keras conv2D是二维模式的卷积层,并生成卷积核,然后与Keras模型的其他输入层绑定,得到张量的输出。