tensorflow模型在训练时每次epoch都会产生一条输出,如果训练次数很大时会影响效率,影响电脑性能,但如果直接将verbose设置为0时(即关闭输出)则看不到任何反馈导致无法得知模型的训练情况。这时,我们可以自定义一个回调函数来简化输出。
1 2 3 4 5 |
#from tensorflow import keras class PrintDot(keras.callbacks.Callback): def on_epoch_end(self, epoch, logs): if epoch % 100 == 0: print('') print('.', end='') |
在训练模型时将PrintDot加入回调函数中
1 2 3 4 5 6 |
history=model.fit( data,label,epochs=200, validation_split = 0.2, verbose=0, callbacks=[early_stop,PrintDot()] ) |
这样,每次epoch后都会输出一个点,输出100个点后会换行
1 2 3 4 |
.................................................................................................... .................................................................................................... .................................................................................................... .................................................................................................... |
这样,我们可以直观高效的看到训练进度,避免因为输出过多的问题影响效率。