根据我的阅读,不可能通过传递参数来改变它。 您可以尝试通过创建日志记录挂钩并将其传递到估算器运行来完成。
在体内 model_fn 估算器的功能:
model_fn
logging_hook = tf.train.LoggingTensorHook({"loss" : loss, "accuracy" : accuracy}, every_n_iter=10) # Rest of the function return tf.estimator.EstimatorSpec( ...params... training_hooks = [logging_hook])
编辑:
要查看输出,您还必须将日志记录详细程度设置得足够高(除非它是您的默认值): tf.logging.set_verbosity(tf.logging.INFO)
tf.logging.set_verbosity(tf.logging.INFO)
你也可以使用 TensorBoard 查看所需指标的一些图形。为此,请将度量标准添加到TensorFlow摘要,如下所示:
accuracy = tf.metrics.accuracy(labels=labels, predictions=predictions["classes"]) tf.summary.scalar('accuracy', accuracy[1])
使用时很酷 tf.estimator.Estimator 是你不需要将摘要添加到a FileWriter ,因为它是自动完成的(默认情况下每100步合并并保存它们)。
tf.estimator.Estimator
FileWriter
不要忘记改变这一行,基于 accuracy 你刚添加的参数:
accuracy
eval_metric_ops = { "accuracy": accuracy } return tf.estimator.EstimatorSpec( mode=mode, loss=loss, eval_metric_ops=eval_metric_ops)
要查看TensorBoard,您需要打开一个新终端并输入:
tensorboard --logdir={$MODEL_DIR}
之后,您将能够在浏览器中看到图形 localhost:6006 。
localhost:6006