当padding=same时,filter随着stride移动时凡是接触input的,若不完整则补全.故output的长和宽只和stride有关:cell ( n/s, n/s )
当padding=valid时,output的长和宽严格执行维度计算公式此时p=0: floor( (n+2p-f)/s,
(n+2p-f)/s )
1.二维卷积层Conv2D
当图像为2维图像的
keras.layers.convolutional.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)
filters:卷积核的数目 =nc
kernel_size:卷积核的尺寸=f
strides:卷积核移动的步长,分为行方向和列方向=s.默认是1
padding:边界模式,有“valid”,“same” "valid"
means "no padding". "same"
results in padding the input such that the output has the same length as the original input.默认填充方式为Valid也就是不填0
2.POOLing 层
keras.layers.pooling.MaxPooling2D(pool_size=(2, 2), strides=None, padding='valid', data_format=None)
pool_size:整数或长为2的整数tuple,代表在两个方向(竖直,水平)上的下采样因子,如取(2,2)将使图片在两个维度上均变为原长的一半。为整数意为各个维度值相同且为该数
当stride=None的时候,自动匹配pool_size的值和它的值一样,故默认情况下时严格执行上面的计算公式