如何通过keras自定义回调函数监控训练过程中的loss和accuracy?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2263个文字,预计阅读时间需要10分钟。
前言:keras是一个便捷的开发框架,为了更好地追踪网络训练过程中的损失函数loss和准确率accuracy,我们提供几种处理方式。第一种是直接通过history=model.fit()返回一个history对象。
前言:
keras是一个十分便捷的开发框架,为了更好的追踪网络训练过程中的损失函数loss和准确率accuracy,我们有几种处理方式,第一种是直接通过 history=model.fit(),来返回一个history对象,通过这个对象可以访问到训练过程训练集的loss和accuracy以及验证集的loss和accuracy。
第二种方式就是通过自定义一个回调函数Call backs,来实现这一功能,本文主要讲解第二种方式。
一、如何构建回调函数Callbacks
本文所针对的例子是卷积神经网络Lenet-5,数据集是mnist数据集。
1.1 什么是回调函数
回调函数是一个函数的合集,会在训练的阶段中所使用。你可以使用回调函数来查看训练模型的内在状态和统计。你可以传递一个列表的回调函数(作为 callbacks 关键字参数)到 Sequential 或 Model 类型的 .fit() 方法。在训练时,相应的回调函数的方法就会被在各自的阶段被调用。
这里有两个关键的点:
(1)状态和统计:其实就是我们希望模型在训练过程中需要从过程中获取什么信息,比如我的损失loss,准确率accuracy等信息就是训练过程中的状态与统计信息;再比如我希望每一个epoch结束之后打印一些相应的自定义提示信息,这也是状态信息。
本文共计2263个文字,预计阅读时间需要10分钟。
前言:keras是一个便捷的开发框架,为了更好地追踪网络训练过程中的损失函数loss和准确率accuracy,我们提供几种处理方式。第一种是直接通过history=model.fit()返回一个history对象。
前言:
keras是一个十分便捷的开发框架,为了更好的追踪网络训练过程中的损失函数loss和准确率accuracy,我们有几种处理方式,第一种是直接通过 history=model.fit(),来返回一个history对象,通过这个对象可以访问到训练过程训练集的loss和accuracy以及验证集的loss和accuracy。
第二种方式就是通过自定义一个回调函数Call backs,来实现这一功能,本文主要讲解第二种方式。
一、如何构建回调函数Callbacks
本文所针对的例子是卷积神经网络Lenet-5,数据集是mnist数据集。
1.1 什么是回调函数
回调函数是一个函数的合集,会在训练的阶段中所使用。你可以使用回调函数来查看训练模型的内在状态和统计。你可以传递一个列表的回调函数(作为 callbacks 关键字参数)到 Sequential 或 Model 类型的 .fit() 方法。在训练时,相应的回调函数的方法就会被在各自的阶段被调用。
这里有两个关键的点:
(1)状态和统计:其实就是我们希望模型在训练过程中需要从过程中获取什么信息,比如我的损失loss,准确率accuracy等信息就是训练过程中的状态与统计信息;再比如我希望每一个epoch结束之后打印一些相应的自定义提示信息,这也是状态信息。

