使用tf_logging显示登录到控制台

时间:2016-07-01 12:47:34

标签: tensorflow

我正在玩slim.learning.train并希望在控制台中显示日志。根据源代码,这是使用tf_logging模块完成的:

if 'should_log' in train_step_kwargs:
    if sess.run(train_step_kwargs['should_log']):
      logging.info('global step %d: loss = %.4f (%.2f sec)',
                   np_global_step, total_loss, time_elapsed) 

我可以运行我的训练循环,但控制台中没有日志。我该如何启用它?

1 个答案:

答案 0 :(得分:0)

tf.logging.info()转到 stderr ,而不是stdout,如下所述: https://groups.google.com/a/tensorflow.org/forum/#!msg/discuss/SO_JRts-VIs/JG1x8vOLDAAJ

我可以从我的个人经验中验证这一点,花了几个小时来完成subprocess.Popen()的参数版本,而不是捕获日志记录。对stderr = PIPE进行了简单的更改,就像在我的具体示例中一样,您应该能够将其归结为您的问题。

training_results = Popen(cmds,shell=False,stderr=PIPE,bufsize=1,executable="python")
for line in iter(training_results.stderr.readline, b''):
  print line
  if line.startswith("INFO:tensorflow:Final test accuracy"):
    tf_final_acc = line
training_results.wait() # wait for the subprocess to exit