Keras – 卷积层

Keras – 卷积层

Keras包含很多层,用于创建基于卷积的ANN,俗称 卷积神经网络(CNN)。 所有的卷积层都有一定的属性(如下所列),这使它与其他层(如密集层)有所区别。

滤波器 - 它指的是在卷积过程中应用的滤波器的数量。它影响到输出形状的尺寸。

kernel size - 指卷积窗口的长度。

Strides - 指卷积的跨度长度。

填充 - 它指的是需要对卷积的输出进行填充的方式。它有三个值,如下所示

  • **valid ** 表示没有填充

  • causal 表示因果卷积。

  • **same ** 意思是输出应该和输入有相同的长度,因此,应该相应地应用填充。

扩张率 - 扩张的卷积要应用的扩张率。-

卷积层的另一个重要方面是数据格式。数据格式可以是两种类型、

channel_last: channel_last – 指定通道数据作为最后一项。这里,channel指的是实际数据,它将被放置在输入空间的最后一个维度。-

例如,让我们考虑一个输入形状, (30,10,128)。 这里,第一个维度的值, 30 指的是批次大小,第二个维度的值, 10 指的是时间卷积的 timesteps ,第三个维度的值, 128 指的是输入的实际值。这是Keras的默认设置。

channel_first:channel_firstchannet_last 正好相反。在这里,输入值被放置在第二个维度上,紧挨着批处理量。

让我们看看本章中Keras所提供的用于CNN的所有层。

Conv1D

Conv1D层 被用于基于时间的CNN。ConvID的输入形状将是以下格式

(batch_size, timesteps, features)

其中、

  • batch_size 是指批次的大小。

  • timesteps 是指输入中提供的时间步数。

  • features 指的是输入中可用的特征数量。

Conv1D 的输出形状如下所示

(batch_size, new_steps, filters)

其中, 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

它是一个卷积2D层。它创建了一个卷积核,该层的输入创建了一个输出的张量。input_shape指的是数据格式=”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
)

这里

  • strides 指的是一个整数,指定沿高度和宽度的卷积的步长。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程