Как добавить больше деталей на тензорную доску, используя API оценки

Я сделал мою модель следующим 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])

Но когда я запускаю график get only enqueue_input (я не знаю, что это) и график модели. Я хочу получить графики точности и потерь.

Так что я хочу пару деталей в моем тензорном табло.

  1. Потеря и точность символов
  2. Возможно получить график точности во времени, потому что в оценке я получаю точность только после последнего шага.
  3. Могу ли я получить более подробную информацию на тензорной доске, например, с неверно предсказанными изображениями? Но без создания сессий и графиков, только из оценки API?

1 ответ

Прежде всего, вам не нужно использовать 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 для визуализации изображений, весов и уклонов и т. д.

Другие вопросы по тегам