- Keras 教程
- Keras - 首页
- Keras - 简介
- Keras - 安装
- Keras - 后端配置
- Keras - 深度学习概述
- Keras - 深度学习
- Keras - 模块
- Keras - 层
- Keras - 自定义层
- Keras - 模型
- Keras - 模型编译
- Keras - 模型评估和预测
- Keras - 卷积神经网络
- Keras - 使用 MPL 进行回归预测
- Keras - 使用 LSTM RNN 进行时间序列预测
- Keras - 应用
- Keras - 使用 ResNet 模型进行实时预测
- Keras - 预训练模型
- Keras 有用资源
- Keras - 快速指南
- Keras - 有用资源
- Keras - 讨论
Keras - 卷积层
Keras 包含许多用于创建基于卷积的 ANN 的层,通常称为卷积神经网络 (CNN)。所有卷积层都具有一些属性(如下所示),这使它与其他层(例如密集层)区别开来。
过滤器 - 它指的是卷积中要应用的过滤器数量。它会影响输出形状的维度。
内核大小 - 它指的是卷积窗口的长度。
步长 - 它指的是卷积的步长。
填充 - 它指的是卷积输出如何进行填充。它有三个值,如下所示:
有效 表示不填充
因果 表示因果卷积。
相同 表示输出应与输入具有相同的长度,因此应相应地应用填充
扩张率 - 用于扩张卷积的扩张率。
卷积层的另一个重要方面是数据格式。数据格式可以分为两种类型,
通道最后:通道最后 - 指定通道数据作为最后一个条目放置。这里,通道指的是实际数据,它将放置在输入空间的最后一个维度中。
例如,让我们考虑一个输入形状(30, 10, 128)。这里,第一个维度的值30指的是批次大小,第二个维度的值10指的是时间卷积中的时间步长,第三维度的值128指的是输入的实际值。这是 Keras 中的默认设置。
通道优先:通道优先 与通道最后正好相反。这里,输入值放置在第二个维度,紧挨着批次大小。
让我们在本节中查看 Keras 层提供的用于 CNN 的所有层。
Conv1D
Conv1D 层用于基于时间的 CNN。ConvID 的输入形状将采用以下格式:
(batch_size, timesteps, features)
其中,
批次大小指的是批次的大小。
时间步长指的是输入中提供的时间步长数。
特征指的是输入中可用的特征数。
Conv1D 的输出形状如下:
(batch_size, new_steps, filters)
其中,过滤器指的是作为参数之一指定的过滤器数量。
ConvID 函数及其参数(带有默认值)的签名如下:
keras.layers.Conv1D( filters, kernel_size, strides = 1, padding = 'valid', data_format = 'channels_last', dilation_rate = 1, activation = None, use_bias = True, kernel_initializer = 'glorot_uniform', bias_initializer = 'zeros', kernel_regularizer = None, bias_regularizer = None, activity_regularizer = None, kernel_constraint = None, bias_constraint = None )
Conv2D
它是一个二维卷积层。它使用层输入创建一个卷积核,创建一个输出张量。input_shape 指的是在 data_format = “channels_last” 中具有 RGB 值的整数元组。
Conv2D 函数及其参数(带有默认值)的签名如下:
keras.layers.Conv2D (filters, kernel_size, strides = (1, 1), padding = 'valid', data_format = None, dilation_rate = (1, 1), activation = None, use_bias = True, kernel_initializer = 'glorot_uniform', bias_initializer = 'zeros', kernel_regularizer = None, bias_regularizer = None, activity_regularizer = None, kernel_constraint = None, bias_constraint = None )
这里,
步长指的是一个整数,指定沿高度和宽度的卷积步长。