如何使用估算器API在Tensorboard上添加更多详细信息

时间:2018-08-02 18:24:29

标签: tensorflow tensorboard tensorflow-estimator

我在https://www.tensorflow.org/tutorials/estimators/cnn之后建立了我的模型。

我在模型中添加了SummarySaverHook

    summary_hook = tf.train.SummarySaverHook(
    100,
    output_dir='C:/Users/dir',
    summary_op=tf.summary.merge_all())

# Configure the Training Op (for TRAIN mode)
if mode == tf.estimator.ModeKeys.TRAIN:
    optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.01)
    train_op = optimizer.minimize(
        loss=loss,
        global_step=tf.train.get_global_step())
    return tf.estimator.EstimatorSpec(mode=mode, loss=loss, train_op=train_op, training_hooks=[summary_hook])

但是当我运行时,只获取enqueue_input图表(我不知道它是什么)和模型图。我想要获得准确性和损耗图。

所以我想在张量板上添加一些细节。

  1. 丢失和准确的字符
  2. 有可能及时获得准确性图表,因为在估计器中,我仅在最后一步之后才获得准确性。
  3. 我可以在张量板上获得更多详细信息吗,例如错误的预测图像?但是如果没有创建Session和Graph,只能从estimator API获得?

1 个答案:

答案 0 :(得分:0)

首先,您不需要使用summary_hook。您只需在指定登录后使用tf.metrics指定所需的指标。

 logits = tf.layers.dense(inputs=dropout, units=10)

 predictions = {
          "classes": tf.argmax(input=logits, axis=1),
          "probabilities": tf.nn.softmax(logits, name="softmax_tensor")
 }

 accuracy = tf.metrics.accuracy(labels=labels, predictions=predictions['classes']
 tf.summary.scalar('acc', accuracy[1])

然后放这个 tf.logging.set_verbosity(tf.logging.INFO) 在您输入之后(如果尚未输入)。

您可以通过将eval_metric_ops = {'accuracy': accuracy}字典插入tf.estimator.EstimatorSpec来绘制评估指标

您可以使用tf.summary可视化图像,权重和偏差等。