https://tensorflow.google.cn/api_docs/python/tf/keras/layers/Conv2D
tf.keras.layers.Conv2D 是一个2维卷积层(图像空间卷积)
这个层创建了一个卷积核,将输入卷积成输出张量。
def __init__(self,
filters: Any,
kernel_size: Any,
strides: int = (1, 1),
padding: str = 'valid',
data_format: Any = None,
dilation_rate: int = (1, 1),
activation: Any = None,
use_bias: bool = True,
kernel_initializer: str = 'glorot_uniform',
bias_initializer: str = 'zeros',
kernel_regularizer: Any = None,
bias_regularizer: Any = None,
activity_regularizer: Any = None,
kernel_constraint: Any = None,
bias_constraint: Any = None,
**kwargs: Any) -> None
当data_format=channels_last时,输入为四维张量 (samples, rows, cols, channels);
当data_format=channels_first时,输入为四维张量 (samples, channels, rows, cols)。
当data_format=channels_last时,输出为四维张量 (samples, new_rows, new_cols, filters);
当data_format=channels_first时,输出为四维张量 (samples, filters, new_rows, new_cols)。
作为第一个层时,必须设置输入形状(忽略样本维度),例如input_shape=(128, 128, 3) for 128x128 表示128*128的RGB图片。
卷积过滤器数量,int类型,必须,例如32,表示生成32个特征图
卷积窗口大小,int/tuple类型,必须,例如(3,3)表示宽为3高为3的滑动窗口,只传一个整数时表示宽和高都一样。
卷积窗口移动步进,int/tuple类型,默认为(1,1)表示每次只滑动1个单元,只传一个整数表示宽和高的步进都一样,当取值不为1时,dilation_rate必须为1。
取值为valid或者same,valid表示只取有效值, same表示填充以和原图保持相同大小。
输入数据格式,取值为channels_last或者channels_first。默认值为channels_last。
channels_last: 输入shape为(batch, height, width, channels)
channels_first:输入shape为(batch, channels, height, width)
空洞卷积比例,int/tuple类型,默认值为(1,1),当取值不为1时,strides必须为1。
激活函数,不传时默认为a(x)=x
是否使用偏置向量,默认为True
卷积核初始化器,默认为glorot_uniform
偏置向量初始化器,默认为zeros
卷积核正则化函数
偏置向量正则化函数
输出结果正则化函数
卷积核约束函数
偏置向量约束函数