- add
add(self, layer)
向模型中添加一个层
- compile 配置训练模型。
compile(self, optimizer, loss, metrics=None)
optimizer: 优化器,参考优化器
loss:损失函数,参考损失函数
metrics:评估模型在训练和测试时的网络性能的指标,典型用法是metrics=['accuracy']
- fit 训练模型的固定数量的时期(数据集上的迭代)。
it(self, x=None, y=None, batch_size=None, epochs=1, verbose=1, validation_data=None)
x:输入数据
y:标签
batch_size:整数,指定进行梯度下降时每个batch包含的样本数。训练时一个batch的样本会被计算一次梯度下降,使目标函数优化一步。
epochs:整数,训练终止时的epoch值,训练将在达到该epoch值时停止,如果未指定,默认为 32
verbose:0 为不在标准输出流输出日志信息,1 为输出进度条记录,2 为每个epoch输出一行记录
validation_data:验证数据集,用于在每个 epoch 验证 model 的效果
- evaluate 一批一批地计算输入数据的损失。
evaluate(self, x=None, y=None, batch_size=None, verbose=1)
x:输入数据
y:标签
batch_size:整数,训练终止时的epoch值,训练将在达到该epoch值时停止,如果未指定,默认为 32
verbose:0 为不在标准输出流输出日志信息,1 为输出进度条记录
- Dense
keras.layers.Dense(units, activation=None, use_bias=True)
Dense就是常用的全连接层,所实现的运算是output = activation(dot(input, kernel)+bias)。其中activation是逐元素计算的激活函数,kernel是本层的权值矩阵,bias为偏置向量,只有当use_bias=True才会添加。
units:该层的神经元个数,大于0的整数,代表该层的输出维度。
activation:该层的激活函数,参考激活函数,如果不指定该参数,将不会使用任何激活函数(即使用线性激活函数:a(x)=x)
use_bias: 布尔值,是否使用偏置项,默认为 True
- Conv2D
keras.layers.Conv2D(filters, kernel_size, activation=None, strides=(1, 1), padding='valid')
二维卷积层,即对图像的空域卷积。该层对二维输入进行滑动窗卷积,当使用该层作为第一层时,应提供 input_shape 参数。例如input_shape = (128,128,3)代表128*128的彩色RGB图像(data_format='channels_last')
filters:卷积核的数目(即输出的维度)
kernel_size:卷积核的尺寸
activation:该层的激活函数,参考激活函数,如果不指定该参数,将不会使用任何激活函数(即使用线性激活函数:a(x)=x)
strides:单个整数或由两个整数构成的list/tuple,为卷积的步长。如为单个整数,则表示在各个空间维度的相同步长。
padding:补0策略,为“valid”, “same” 。“valid”代表只进行有效的卷积,即对边界数据不处理。“same”代表保留边界处的卷积结果,通常会导致输出shape与输入shape相同。
- MaxPooling2D
keras.layers.MaxPooling2D(pool_size=(2, 2), strides=None, padding='valid')
为空域信号施加最大值池化
pool_size:整数或长为2的整数tuple,代表在两个方向(竖直,水平)上的下采样因子,
strides:单个整数或由两个整数构成的list/tuple,为卷积的步长。如为单个整数,则表示在各个空间维度的相同步长。
padding:补0策略,为“valid”, “same” 。“valid”代表只进行有效的卷积,即对边界数据不处理。“same”代表保留边界处的卷积结果,通常会导致输出shape与输入shape相同。
- Dropout
keras.layers.Dropout(rate)
为输入数据施加Dropout。Dropout将在训练过程中每次更新参数时按一定概率(rate)随机断开输入神经元,Dropout层用于防止过拟合。
rate:0~1的浮点数,控制需要断开的神经元的比例
- Flatten
keras.layers.Flatten()
Flatten层用来将输入“压平”,即把多维的输入一维化,常用在从卷积层到全连接层的过渡。Flatten不影响batch的大小。