2016-01-02 8 views
5

現在テンソルのtensorboard is not compatible with python3です。したがって、一般的に、100回のエポックで要約情報を一度プリントアウトする方法を探しています。テンソルフローサマリーオブジェクトで評価された `summary_str`バイト文字列の解析

次の行で生成されたsummary_strバイト文字列を浮動小数点の辞書に解析する機能はありますか?

summary_op = tf.merge_all_summaries() 
summary_str = sess.run(summary_op, feed_dict=feed_dict) 

答えて

9

次のようにあなたはtf.Summaryプロトコルバッファにそれを解析することによってsummary_strのテキスト表現を取得することができます。

summary_proto = tf.Summary() 
summary_proto.ParseFromString(summary_str) 
print(summary_proto) 

あなたはその後、山車に辞書マッピング文字列タグに変換することができます

summaries = {} 
for val in summary_proto.value: 
    # Assuming all summaries are scalars. 
    summaries[val.tag] = val.simple_value 
+0

3行目を 'print(summary_str、summary_proto、sep =":\ t ")'に変更しました。私が得るのは、「b」\ n \ x0e \ n \ x07L2_loss \ x15 \ xd4J \ xcdA \ n \ x11 \ n \ nL1_penalty \ x15 \ xef \ xab \ xa6A \ n \ x0b \ n \ x04loss \ x15j \ xa0 \ xeeA \ n \ t \ n \ x02R2 \ x15 @ \ xd8Y \ xbf ':\tなし。したがって、Noneには属性 "value"がありません。 –

+1

ああ、元の答えに 'ParseFromString()'の行にエラーがありました。今すぐ修正する必要があります。 – mrry

+0

解析後にsummary_protoを編集するオプションはありますか?たとえば、タグを変更してから文字列にシリアル化したいのですか? – aarbelle