【发布时间】:2018-08-22 11:33:42
【问题描述】:
我一直在Tensorflow Object Detection API 上关注this tutorial,并且我已经使用 Google 的 Cloud TPU 成功地训练了我自己的对象检测模型。
但是,问题是在 Tensorboard 上,我看到的每个图只有 2 个数据点(所以它只是绘制一条直线),如下所示:
...而我想看到更多像下面这样的“粒度”图,它们更详细:
The tutorial I've been following 承认这个问题是由于 TPU 训练只需要很少的步骤来训练的:
请注意,这些图表自模型以来仅绘制了 2 个点 只需几个步骤即可快速训练(如果您之前使用过 TensorBoard 你可能习惯在这里看到更多的曲线)
我尝试在文件model_tpu_main.py 中添加save_checkpoints_steps=50(参见下面的代码片段),当我重新运行训练时,我能够获得更精细的图,每 300 步左右有 1 个数据点。
config = tf.contrib.tpu.RunConfig(
# I added this line below:
save_checkpoints_steps=50,
master=tpu_grpc_url,
evaluation_master=tpu_grpc_url,
model_dir=FLAGS.model_dir,
tpu_config=tf.contrib.tpu.TPUConfig(
iterations_per_loop=FLAGS.iterations_per_loop,
num_shards=FLAGS.num_shards))
但是,我的训练工作实际上是每 100 步保存一个检查点,而不是每 300 步。查看日志,我的评估工作每 300 步运行一次。有没有一种方法可以让我的评估工作每 100 步运行一次(只要有新的检查点),这样我就可以在 Tensorboard 上获得更精细的图?
【问题讨论】:
标签: tensorflow tensorboard google-cloud-ml object-detection-api google-cloud-tpu