参数 | 描述 |
inputs | 把上一层的输出作为输入(直接将上一层作为参数输入即可) |
input_shape | 当作为模型的第一层时,需要指出输入的形状(samples,rows,cols,channels) ,只指出后三维即可,第一维度按batch_size自动指定 |
filters | 卷积过滤器的数量,对应输出的维数--卷积核的数目(即输出的维度) |
kernel_size | 整数,过滤器的大小,如果为一个整数则宽和高相同.单个整数或由两个整数构成的list/tuple,卷积核的宽度和长度。如为单个整数,则表示在各个空间维度的相同长度 |
strides | 横向和纵向的步长,如果为一个整数则横向和纵向相同.单个整数或由两个整数构成的list/tuple,为卷积的步长。如为单个整数,则表示在各个空间维度的相同步长。任何不为1的strides均与任何不为1的dilation_rata均 不兼容 |
padding | 补0策略,为“valid”, “same”。“valid”代表只进行有效的卷积,即对边界数据不处理。“same”代表保留边界处的卷积结果,通常会导致输出shape与输入shape相同。 |
data_format | channels_last为(batch,height,width,channels),channels_first为(batch,channels,height,width).以128x128的RGB图像为 例,“channels_first”应将数据组织为(3,128,128),而“channels_last”应将数据组织为 (128,128,3)。该参数的默认值是~/.keras/keras.json中设置的值,若从未设置过,则 为“channels_last”。 |
dilation_rate | |
activation | 激活函数,如果不指定该参数,将不会使用任何激活函数(即 使用线性激活函数:a(x)=x) |
use_bias | 是否使用偏差量,布尔值 |
kernel_initializer | 卷积核的初始化。 |
bias_initializer | 偏差向量的初始化。如果是None,则使用默认的初始值。 |
kernel_regularizer | 卷积核的正则项 |
bias_regularizer | 偏差向量的正则项 |
activity_regularizer | 输出的正则函数 |
bias_constraint | 映射函数,当偏差向量被Optimizer更新后应用到偏差向量上。 |
trainable | Boolean类型。 |
name | 字符串,层的名字。 |
reuse | Boolean类型,表示是否可以重复使用具有相同名字的前一层的权重。 |
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)
# 设置训练模型
# input_shape 指出输入的形状(samples,rows,cols,channels) ,只指出后三维即可,第一维度按batch_size自动指定
# x_train (60000,28,28,1) >> input_shape=(60000,28,28,1) 第一维可以省略,自动根据batch_size指定
tf.keras.layers.Conv2D(filters=16,kernel_size=(5,5),activation="relu",input_shape=(28,28,1),padding="valid"),