我使用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)或更高的批处理大小(如果可能)来重新访问生成器代码

09-25 16:08