Как добавить больше деталей на тензорную доску, используя 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 (я не знаю, что это) и график модели. Я хочу получить графики точности и потерь.
Так что я хочу пару деталей в моем тензорном табло.
- Потеря и точность символов
- Возможно получить график точности во времени, потому что в оценке я получаю точность только после последнего шага.
- Могу ли я получить более подробную информацию на тензорной доске, например, с неверно предсказанными изображениями? Но без создания сессий и графиков, только из оценки 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
для визуализации изображений, весов и уклонов и т. д.