Ответ 1
Чтобы просмотреть одно изображение из каждой партии, вам нужно получить результат tf.image_summary()
при каждом шаге. Например, у вас есть следующая настройка:
images = ...
loss = ...
optimizer = ...
train_op = optimizer.minimize(loss)
init_op = tf.initialize_all_variables()
image_summary_t = tf.image_summary(images.name, images, max_images=1)
sess = tf.Session()
summary_writer = tf.train.SummaryWriter(...)
sess.run(init_op)
... вы можете настроить цикл тренировки для захвата одного изображения на итерацию следующим образом:
for _ in range(10000):
_, image_summary = sess.run([train_op, image_summary_t])
summary_writer.add_summary(image_summary)
Обратите внимание, что сбор итогов для каждой партии может быть неэффективным, и вам, вероятно, следует лишь периодически собирать сводки для более быстрого обучения.
EDIT:. Приведенный выше код записывает отдельное резюме для каждого изображения, поэтому ваш журнал будет содержать все изображения, но они не будут отображаться в TensorBoard. Если вы хотите комбинировать свои резюме для визуализации изображений из нескольких партий, вы можете сделать следующее:
combined_summary = tf.Summary()
for i in range(10000):
_, image_summary = sess.run([train_op, image_summary_t])
combined_summary.MergeFromString(image_summary)
if i % 10 == 0:
summary_writer.add_summary(combined_summary)
combined_summary = tf.Summary()