如何在TensorFlow slim中将log\u every\u n\u步骤与save\u summaries\u secs同步

如何在TensorFlow slim中将log\u every\u n\u步骤与save\u summaries\u secs同步,tensorflow,tf-slim,Tensorflow,Tf Slim,我刚开始使用TF Slim进行培训: slim.learning.train( train_op, FLAGS.log_dir, log_every_n_steps=1, number_of_steps=FLAGS.max_steps, save_summaries_secs=1) 我的日志看起来像: ... INFO:tensorflow:global step 93: loss = 0.0425 (0.25 sec/step) INFO:tensor

我刚开始使用TF Slim进行培训:

slim.learning.train(
    train_op,
    FLAGS.log_dir,
    log_every_n_steps=1,
    number_of_steps=FLAGS.max_steps,
    save_summaries_secs=1)
我的日志看起来像:

...
INFO:tensorflow:global step 93: loss = 0.0425 (0.25 sec/step)
INFO:tensorflow:global step 94: loss = 0.0460 (0.39 sec/step)
INFO:tensorflow:global step 95: loss = 0.0416 (0.25 sec/step)
INFO:tensorflow:global step 96: loss = 0.0480 (0.25 sec/step)
INFO:tensorflow:global step 97: loss = 0.0424 (0.27 sec/step)
INFO:tensorflow:global step 98: loss = 0.0487 (0.30 sec/step)
INFO:tensorflow:global step 99: loss = 0.0481 (0.26 sec/step)
INFO:tensorflow:global step 100: loss = 0.0390 (0.25 sec/step)
我的总结如下:

...
ScalarEvent(wall_time=1496698866.417926, step=93L, value=0.04702041298151016)
ScalarEvent(wall_time=1496698867.504077, step=97L, value=0.0489736944437027)
ScalarEvent(wall_time=1496698868.423048, step=100L, value=0.04433770477771759)
ScalarEvent(wall_time=1496698869.449098, step=100L, value=0.035440053790807724)

为什么同一时间步长的数字不同?如何使我的摘要与日志具有相同的数字?

它们不同的原因是它们是根据不同的小批量数据计算的。让它们匹配可能意味着一起计算,而不是异步计算(就像主管所做的那样)。你有什么理由需要它们匹配吗?谢谢你的解释。为什么要对不同的小批量数据进行计算?同一数据批不应该与同一全局步骤匹配吗?我不需要它们匹配,但我只是感到困惑。可以基于全局步骤进行小型批处理,尽管在实践中很难处理队列(最终可能会使其更好),而且我从未见过这样做的输入管道。取而代之的是,出列时根据可用的项目进行洗牌;由于在单独的图形调用(
run()
)中退出队列,因此它将获得不同的小批量。