如何在每个学习周期后绘制 Fastai 损失函数

Posted

技术标签:

【中文标题】如何在每个学习周期后绘制 Fastai 损失函数【英文标题】:How to plot Fastai loss function after each learning cycle 【发布时间】:2021-03-29 03:07:25 【问题描述】:

https://github.com/BorutFlis/predictor/blob/master/soccer_predictor.ipynb

问题可以在上面的笔记本中找到。

learn.recorder.plot_loss()

我使用这个命令,图像(检查笔记本)绘制了每个学习周期的验证损失,同时它绘制了来自训练集损失的更多数据。我可以以某种方式更改此设置,以便仅在每个循环后绘制火车损失吗?

【问题讨论】:

【参考方案1】:

您必须在加载学习器期间设置回调。 回调ShowGraph可以记录训练和验证损失图。 您可以自定义输出图,例如在每个 epoch 之后或训练完成之后。

方法: 加载学习器:

learn = models.classifier_learner(data, models.densenet121, callback_fns=[ShowGraph])

您可以在此处添加更多callbacks: 然后添加此回调并输入learner 以获取情节。

callbacks = [SaveModelCallback(learn, monitor=['val_loss', 
            'cdice'],mode='min',name='best_model'), ShowGraph(learn),
EarlyStoppingCallback(learn, min_delta=1e-5, patience=5)]

【讨论】:

以上是关于如何在每个学习周期后绘制 Fastai 损失函数的主要内容,如果未能解决你的问题,请参考以下文章

梯度下降

神经网络超参数选择

树模型与集成学习(task6)梯度提升树GBDT+LR

支付系统资损分析

Gradient Boost Decision Tree(GBDT)中损失函数为什么是对数形式

关于损失函数那些事儿