train the model model.fit

发布时间 2023-09-11 00:02:18作者: emanlee

 

 

#train the model
    history = model.fit(x_train, y_train,
                        batch_size=32,
                        epochs=100,
                        validation_split=0.1,
                        shuffle=True,
                        class_weight=class_weights,
                        callbacks=[es])

 

  model.fit( 训练集的输入特征,
                 训练集的标签, 
                 batch_size,  #每一个batch的大小
                 epochs,   #迭代次数
                 validation_data = (测试集的输入特征,测试集的标签),
                 validation_split = 从测试集中划分多少比例给训练集,
                 validation_freq = 测试的epoch间隔数)


https://blog.csdn.net/yunfeather/article/details/106463327

model.fit( ) :

将训练数据在模型中训练一定次数,返回loss和测量指标

model.fit(x, y, batch_size, epochs, verbose, validation_split, validation_data, validation_freq)

model.fit( ) 参数:

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变化的情况。

 

 

鸢尾花数据:

 

 

 

 

 

 

 

 

 

 

REF

https://blog.csdn.net/Fwuyi/article/details/123214588