Tensorflow: добавить scalar_summary в SummaryWriter без session.run()

Мне было интересно, является ли прямой способ добавить scalar_summary в SummaryWriter без использования session.run() для получения сводок.

Обычно код для получения и добавления сводки:

with tf.Session() as sess:
    writer = tf.train.SummaryWriter("./logs", sess.graph)
    merged = tf.merge_all_summaries()
    summary, acc = sess.run([merged, acc_op], feed_dict)
    writer.add_summary(summary, current_step) #Save summary at some checkpoint step

Однако я просто хочу отобразить значения точности и значения потерь, которые были получены И ОБРАБОТАНЫ ПОСЛЕ обучения, в виде линейных графиков на тензорной доске:

with tf.Session() as sess:
    writer = tf.train.SummaryWriter("./logs", sess.graph)
    acc, loss = sess.run([acc_op, loss_op], feed_dict) #Only the get accuracy and loss
    acc = acc*100

    tf.scalar_summary('accuracy', acc)
    tf.scalar_summary('loss', loss)

    merged = tf.merge_all_summaries() #Merge all the summaries into one
    writer.add_summary(merged, current_step) #Save summary at some checkpoint step

Приведенный выше код распечатает эту ошибку:

TypeError: Parameter to MergeFrom() must be instance of same class: expected Summary got Tensor. for field Event.summary

Любая помощь или совет будут оценены.


person Long Le Minh    schedule 15.11.2016    source источник


Ответы (1)


Вы должны использовать средство записи сводок, чтобы записать ряд значений acc_op и loss_op на диск, с которых считывается tensorboard.

Или вы можете сохранить значения acc_op и loss_op в массиве и отобразить их после завершения обучения.

person yuefengz    schedule 15.11.2016