回调函数 TerminateOnNaN()
Keras提供的Callbacks中定义了多种回调函数,会在训练的阶段中所使用以查看训练模型的内在状态和统计。你可以传递一个回调函数的列表(作为 callbacks 关键字参数)到 Sequential 或 Model 类型的 .fit() 方法中。在训练时,相应的回调函数的方法就会被在各自的阶段被调用。
在模型训练过程中若遇到loss变为nan的情况时,如何使程序自动停止训练呢?
首先创建一个TerminateOnNaN类对象:
from tensorflow.keras.callbacks import TerminateOnNaN
nan_stopping = TerminateOnNaN()
然后将nan_stopping传给fit()中的callbacks参数:
model.fit(callbacks=[nan_stopping])