2016-11-15 9 views
0

私は、Session.run()を使用せずにSummaryWriterにscalar_summaryを追加する直接的な方法かどうか疑問に思っていました。Tensorflow:Session.run()を使わずにSummaryWriterにscalar_summaryを追加します

通常の要約を取得し、追加するためのコードは次のとおりです。ただし

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 

、私は単純に精度値とtensorboard上の折れ線グラフとして、検索し、トレーニングの後に処理された損失値を、プロットしたいです:

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 

何か助けやアドバイスをいただければ幸いです。

答えて

0

集計ライタを使用して、acc_opとloss_opの系列値をディスクに書き込む必要があります。これはテンソルボードから読み取られます。

または、acc_opとloss_opの値を配列に格納して、トレーニングが完了した後にプロットすることができます。

関連する問題