2016-11-21 14 views
9

मेरे पास सारांश के 2 विशिष्ट समूह हैं। प्रति बैच में एक बार इकट्ठा किया जाता है और प्रति युग एक बार इकट्ठा किया जाता है। मैं इन दो समूहों में सारांश एकत्रित करने के लिए merge_all_summaries(key='???') का उपयोग कैसे कर सकता हूं? इसे मैन्युअल रूप से करना हमेशा एक विकल्प होता है लेकिन एक बेहतर तरीका प्रतीत होता है।टेन्सफोर्लो में कई सारांश संग्रह का उपयोग कैसे करें?

मैं कैसे लगता है कि यह काम करना चाहिए का चित्रण:

 # once per batch 
     tf.scalar_summary("loss", graph.loss) 
     tf.scalar_summary("batch_acc", batch_accuracy) 
     # once per epoch 
     gradients = tf.gradients(graph.loss, [W, D]) 
     tf.histogram_summary("embedding/W", W, collections='per_epoch') 
     tf.histogram_summary("embedding/D", D, collections='per_epoch') 

     tf.merge_all_summaries()    # -> (MergeSummary...) :) 
     tf.merge_all_summaries(key='per_epoch') # -> NONE    :(
+0

इस प्रश्न को पहले मिला, लेकिन सारांश के 2 विशिष्ट समूहों की खोज नहीं की गई। यह दृष्टिकोण https://stackoverflow.com/questions/42418029/unable-to-use-summary-merge-in-tensorboard-for-separate-raining-and- मूल्यांकन थोड़ा अलग उपयोग केस के लिए थोड़ा आसान काम करता है। आप बस सारांश के नामों का उपयोग कर सकते हैं। – Maikefer

उत्तर

15

समस्या को हल किया। सारांश के collections पैरामीटर को एक सूची माना जाना चाहिए। समाधान:

# once per batch 
    tf.scalar_summary("loss", graph.loss) 
    tf.scalar_summary("batch_acc", batch_accuracy) 
    # once per epoch 
    tf.histogram_summary("embedding/W", W, collections=['per_epoch']) 
    tf.histogram_summary("embedding/D", D, collections=['per_epoch']) 

    tf.merge_all_summaries()    # -> (MergeSummary...) :) 
    tf.merge_all_summaries(key='per_epoch') # -> (MergeSummary...) :) 

संपादित करें। टीएफ में सिंटेक्टिकल परिवर्तन:

# once per batch 
    tf.summary.scalar("loss", graph.loss) 
    tf.summary.scalar("batch_acc", batch_accuracy) 
    # once per epoch 
    tf.summary.histogram("embedding/W", W, collections=['per_epoch']) 
    tf.summary.histogram("embedding/D", D, collections=['per_epoch']) 

    tf.summaries.merge_all()    # -> (MergeSummary...) :) 
    tf.summaries.merge_all(key='per_epoch') # -> (MergeSummary...) :) 
संबंधित मुद्दे