2016-01-02 12 views
5

वर्तमान में tensorflow का tensorboard is not compatible with python3। इसलिए और आम तौर पर, मैं 100 युग में एक बार सारांश रीडआउट प्रिंट करने का एक तरीका ढूंढ रहा हूं।पार्सिंग `summary_str` बाइट स्ट्रिंग tensorflow सारांश ऑब्जेक्ट पर मूल्यांकन

क्या 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

मैंने कोशिश की, तीसरी पंक्ति को 'प्रिंट (summary_str, summary_proto, sep = ": \ t") में संशोधित करने के लिए संशोधित किया। मुझे जो मिलता है वह है 'बी' \ 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 कोई नहीं'। और इसलिए: किसी के पास कोई विशेषता नहीं है "मूल्य"। –

+1

आह, 'ParseFromString()' के साथ लाइन पर मेरे मूल उत्तर में एक त्रुटि हुई थी। अब तय किया जाना चाहिए। – mrry

+0

क्या पार्सिंग के बाद summary_proto संपादित करने का कोई विकल्प है? यदि मैं उदाहरण के लिए टैग को बदलना चाहता हूं और फिर स्ट्रिंग पर वापस क्रमबद्ध करना चाहता हूं? – aarbelle

संबंधित मुद्दे