1、语法
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)
2、各个参数的作用
- filters:卷积核的数量,即输出的维度
- kernel_size:卷积核的宽度和长度。可以是一个整数或者元组/列表,如果是元组/列表,则分别表示宽度和长度
- strides:卷积 stride,用于控制卷积滑动的步长。默认值为1
- padding:补0策略,可以是'valid'、'same'或者'causal'之一。'valid'是没有补0,'same'是补0后输出与输入一样大小,'causal'只补左边。默认为'valid'
- data_format:指定输入形状,'channels_first'或'channels_last'之一。默认为None,Keras会自动选择通用的格式。
- dilation_rate:用于设置扩张卷积的过滤器扩张比率。默认为1
- activation:激活函数,默认为None,代表线性激活
- use_bias: 是否使用偏置项。默认为True
- kernel_initializer:卷积核初始化方法
- bias_initializer:偏置项初始化方法
- kernel_regularizer:卷积核正则化方法
- bias_regularizer:偏置项正则化方法
- activity_regularizer:层输出活动正则化方法
- kernel_constraint:卷积核约束方法
- bias_constraint:偏置项约束方法
3、简单示例
model.add(layers.Conv2D(32, 3, activation='relu', input_shape=(28, 28, 1)))
以上是定义了一个2D卷积层,具有32个3x3的卷积核,步长默认为1,padding默认为'valid',激活函数为relu,输入形状为(28, 28, 1)