简化tensorflow在训练模型时的输出

tensorflow模型在训练时每次epoch都会产生一条输出,如果训练次数很大时会影响效率,影响电脑性能,但如果直接将verbose设置为0时(即关闭输出)则看不到任何反馈导致无法得知模型的训练情况。这时,我们可以自定义一个回调函数来简化输出。

#from tensorflow import keras
class PrintDot(keras.callbacks.Callback):
  def on_epoch_end(self, epoch, logs):
    if epoch % 100 == 0: print('')
    print('.', end='')

在训练模型时将PrintDot加入回调函数中

history=model.fit(
    data,label,epochs=200,
    validation_split = 0.2,
    verbose=0,
    callbacks=[early_stop,PrintDot()]
)

这样,每次epoch后都会输出一个点,输出100个点后会换行

....................................................................................................
....................................................................................................
....................................................................................................
....................................................................................................

这样,我们可以直观高效的看到训练进度,避免因为输出过多的问题影响效率。

发表评论

您的电子邮箱地址不会被公开。