model.fit( ) :
将训练数据在模型中训练一定次数,返回loss和测量指标
model.fit( ) 参数:
model.fit(x, y, batch_size, epochs, verbose, validation_split, validation_data, validation_freq)
x | 输入 |
y | 输出 |
batch_size | 每一个batch的大小(批尺寸),即训练一次网络所用的样本数 |
epochs | 迭代次数,即全部样本数据将被“轮”多少次,轮完训练停止 |
verbose | 0:不输出信息;1:显示进度条(一般默认为1);2:每个epoch输出一行记录; |
validation_split | (0,1)的浮点数,分割数据当验证数据,其它当训练数据 |
validation_data | 指定验证数据,该数据将覆盖validation_spilt设定的数据 |
validation_freq | 指定验证数据的epoch |
callback | 在每个training/epoch/batch结束时,可以通过回调函数Callbacks查看一些内部信息。常用的callback有EarlyStopping,当监视的变量停止改善时,停止训练,防止模型过拟合,其默认参数如下: |
callback=callbacks.EarlyStopping(monitor='loss',min_delta=0.002,patience=0,mode='auto',restore_best_weights=False)
- monitor:监视量,一般是loss。
- min_delta:监视量改变的最小值,如果监视量的改变绝对值比min_delta小,这次就不算监视量改善,具体是增大还是减小看mode
- patience:如发现监视量loss相比上一个epoch训练没有下降,则经过patience个epoch后停止训练
- mode:在min模式训练,如果监视量停止下降则终止训练;在max模式下,如果监视量停止上升则停止训练。监视量使用acc时就要用max,使用loss时就要用min。
- restore_best_weights:是否把模型权重设为训练效果最好的epoch。如果为False,最终模型权重是最后一次训练的权重
model.fit( )返回值
model.fit( )函数返回一个History的对象,即记录了loss和其他指标的数值随epoch变化的情况。