我使用TensorFlow后端与keras建立了网络。
当我训练我的网络时,我经常会不断收到消息:
UserWarning: Method on_batch_end() is slow compared to the batch update (0.195523). Check your callbacks.
% delta_t_median)
问题是我的网络仅设置了检查点回调:
checkpoint = ModelCheckpoint(filepath, monitor='val_loss', verbose=1, save_best_only=True, mode='min')
callbacks_list = [checkpoint]
据我在文档中看到的,此方法仅在时代结束时才调用,因此它不会降低
on_batch_end
方法的速度。任何人都可以提供有关问题的一些信息吗? 最佳答案
这很可能是生成器(fit_generator()
)问题。当使用生成器作为数据源时,必须在批处理结束时调用它。考虑使用多处理(workers > 1
)或更高的批处理大小(如果可能)来重新访问生成器代码