我是 TensorFlow 的新手。我目前很想跟踪检查点的 IO 时间和带宽(最好是检查点训练过程中所用 IO 时间的百分比),这是由高级提供的内部检查点机制执行的tf.train.MonitoredTrainingSession
,可以通过添加一段 tf.train.CheckpointSaverHook
时间来初始化tf.train.MonitoredTrainingSession
.
我正在考虑使用一个tf.train.CheckpointSaverListener
(即使用before_save
和after_save
方法)来记录时间和跟踪IO。但是我有一个问题,我正在考虑的这种日志记录技术会给我一个适当的百分比计算(即Time taken for checkpointing IO / Time taken for Training * 100%
)吗?
我怀疑,这个检查点是通过与训练不同的线程异步完成的。我一直在研究 TensorFlow 代码以找出答案,但我认为在这里提出这个问题可以加速我的探索。
我愿意接受任何关于使用任何其他替代技术的建议(例如使用 TensorBoard、IO 分析工具等)