Keras中的Conv2D是一个2D卷积层,它可以对图像和表面进行卷积操作。它的参数包括:
filters:
它是一个整数,表示卷积核的数量或深度。
kernel_size:
它是一个整数或由两个整数组成的元组/列表,表示卷积核的宽度和高度。例如,kernel_size = 3表示3x3的卷积核,kernel_size = (3,3)也表示3x3的卷积核。
strides:
它是一个整数或由两个整数组成的元组/列表,表示卷积过程中的步长。默认情况下,strides = 1。
padding:
它是一个字符串,表示在边界处填充的方式。可以是“valid”或“same”。如果padding = “valid”,则不会在边界处填充;如果padding = “same”,则会在边界处填充。
data_format:
它是一个字符串,表示输入数据的格式。可以是“channels_last”或“channels_first”。默认情况下,data_format = “channels_last”。
dilation_rate:
它是一个整数或由两个整数组成的元组/列表,表示卷积核的膨胀率。默认情况下,dilation_rate = 1。
activation:
它是一个字符串,表示激活函数的类型。可以是“relu”、“sigmoid”或“tanh”等。默认情况下,activation = “None”。
use_bias:
它是一个布尔值,表示是否使用偏置项。默认情况下,use_bias = True。
kernel_initializer:
它是一个字符串,表示卷积核的初始化方法。可以是“glorot_uniform”、“random_normal”或“he_normal”等。默认情况下,kernel_initializer = “glorot_uniform”。
bias_initializer:
它是一个字符串,表示偏置项的初始化方法。可以是“zeros”、“ones”或“random_normal”等。默认情况下,bias_initializer = “zeros”。
kernel_regularizer:
它是一个字符串,表示卷积核的正则化方法。可以是“l1”、“l2”或“l1_l2”等。默认情况下,kernel_regularizer = “None”。
bias_regularizer:
它是一个字符串,表示偏置项的正则化方法。可以是“l1”、“l2”或“l1_l2”等。默认情况下,bias_regularizer = “None”。
activity_regularizer:
它是一个字符串,表示激活层的正则化方法。可以是“l1”、“l2”或“l1_l2”等。默认情况下,activity_regularizer = “None”。
kernel_constraint:
它是一个字符串,表示卷积核的约束条件。可以是“max_norm”、“min_max_norm”或“non_neg”等。默认情况下,kernel_constraint = “None”。
bias_constraint:
它是一个字符串,表示偏置项的约束条件。可以是“max_norm”、“min_max_norm”或“non_neg”等。默认情况下,bias_constraint = “None”。
使用Conv2D可以使用以下代码:
from keras.layers import Conv2D conv2d = Conv2D(filters=32, kernel_size=(3, 3), strides=(1, 1), padding='same', data_format='channels_last', dilation_rate=(1, 1), activation='relu', 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)(input_tensor)
以上就是Keras中Conv2