Registro de entrenamiento y pérdida de validación en tensorboard

Estoy tratando de aprender a usar tensorflow y tensorboard. Tengo un proyecto de prueba basado en elTutorial de red neuronal MNIST.

En mi código, construyo un nodo que calcula la fracción de dígitos en un conjunto de datos que se clasifican correctamente, como este:

correct = tf.nn.in_top_k(self._logits, labels, 1)
correct = tf.to_float(correct)
accuracy = tf.reduce_mean(correct)

Aquí,self._logitses la parte de inferencia del gráfico, ylabels es un marcador de posición que contiene las etiquetas correctas.

Ahora, lo que me gustaría hacer es evaluar la precisión tanto del conjunto de entrenamiento como del conjunto de validación a medida que avanza el entrenamiento. Puedo hacer esto ejecutando el nodo de precisión dos veces, con diferentes feed_dicts:

train_acc = tf.run(accuracy, feed_dict={images : training_set.images, labels : training_set.labels})
valid_acc = tf.run(accuracy, feed_dict={images : validation_set.images, labels : validation_set.labels})

Esto funciona según lo previsto. Puedo imprimir los valores, y puedo ver que inicialmente, las dos precisiones aumentarán y, finalmente, la precisión de la validación se nivelará mientras que la precisión del entrenamiento sigue aumentando.

Sin embargo, también me gustaría obtener gráficos de estos valores en el tensorboard, y no puedo entender cómo hacerlo. Si simplemente agrego unscalar_summary aaccuracy, los valores registrados no distinguirán entre el conjunto de entrenamiento y el conjunto de validación.

También intenté crear dos idénticosaccuracy nodos con diferentes nombres y ejecutando uno en el conjunto de entrenamiento y otro en el conjunto de validación. Luego agrego unscalar_summary a cada uno de estos nodos. Esto me da dos gráficos en el tensorboard, pero en lugar de un gráfico que muestra la precisión del conjunto de entrenamiento y uno que muestra la precisión del conjunto de validación, ambos muestran valores idénticos que no coinciden con ninguno de los impresos en el terminal.

Probablemente no entiendo cómo resolver este problema. ¿Cuál es la forma recomendada de registrar por separado la salida de un solo nodo para diferentes entradas?

Respuestas a la pregunta(2)

Su respuesta a la pregunta