Я пытаюсь узнать, как использовать тензорный поток и тензограмму. У меня есть тестовый проект, основанный на учебнике по нейронной сети MNIST (https://www.tensorflow.org/versions/master/tutorials/mnist/tf/index.html).
В моем коде я построил node, который вычисляет долю цифр в наборе данных, которые были правильно классифицированы, например:
correct = tf.nn.in_top_k(self._logits, labels, 1)
correct = tf.to_float(correct)
accuracy = tf.reduce_mean(correct)
Здесь self._logits
является частью вывода из графика, а labels
является заполнителем, который содержит правильные метки.
Теперь то, что я хотел бы сделать, - это оценить точность как для набора тренировок, так и для проверки, установленной в процессе обучения. Я могу сделать это, дважды используя точность node, с разными 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})
Это работает по назначению. Я могу распечатать значения, и я вижу, что изначально две точности будут увеличиваться, и в конечном итоге точность проверки будет сглажена, а точность обучения будет увеличиваться.
Тем не менее, я также хотел бы получить графики этих значений в тензограмме, и я не могу понять, как это сделать. Если я просто добавлю scalar_summary
в accuracy
, зарегистрированные значения не будут различать набор тренировок и набор проверки.
Я также попытался создать два идентичных узла accuracy
с разными именами и запустить их на обучающем наборе и один на набор проверки. Затем я добавляю scalar_summary
к каждому из этих узлов. Это дает мне два графика в тензограмме, но вместо одного графика, показывающего точность набора тренировок, и один, показывающий точность установки проверки, они оба показывают одинаковые значения, которые не соответствуют ни тем, которые были напечатаны на терминале.
Я, вероятно, не понимаю, как решить эту проблему. Каков рекомендуемый способ отдельного протоколирования вывода из одного node для разных входов?