2016-08-14 30 views
7

में सूची वैरिएबल मैं चर और उनके राज्यों को चेकपॉइंट से कैसे पढ़ सकता हूं?टेन्सफोर्लो। चेकपॉइंट

मैं autoencoders साथ काम कर रहा हूँ और मेरे चौकी नेटवर्क अर्थात एनकोडर, विकोडक, अनुकूलक आदि मैं एन्कोडिंग के साथ चारों ओर मूर्ख करना चाहते हैं और इसलिए मेरा मूल्यांकन मोड में नेटवर्क का केवल विकोडक भाग की आवश्यकता होगी की पूरी राज्य शामिल हैं।

एक ही प्रश्न में एक और सवाल है: मैं किसी अन्य मॉडल में पुन: उपयोग के लिए मौजूदा चेकपॉइंट से केवल विशेष चर कैसे पढ़ सकता हूं?

क्या मुझे बस अपने चर को संगत रूप से नामित करना चाहिए? या वहाँ एक रास्ता की तरह कुछ पाने के लिए है:

w_init = read_from_state(state_location, var_name) 

def read_from_state(state_location, var_name): 
    # the magic goes here 
    pass 

उत्तर

14

जो आप सभी सहेजे चर देखने की सुविधा देता checkpoint_utils.py में list_variables विधि नहीं है।

हालांकि, आपके उपयोग के मामले में सेवर के साथ पुनर्स्थापित करना आसान हो सकता है। यदि आप चेकपॉइंट सहेजते समय चर के नामों को जानते हैं, तो आप नया सेवर बना सकते हैं और उन नामों को नए Variable ऑब्जेक्ट्स (संभवतः अलग-अलग नामों के साथ) में शुरू करने के लिए कह सकते हैं। इसका उपयोग subset of variables को पुनर्स्थापित करने के लिए CIFAR उदाहरण में किया जाता है। Howto

0

एक और तरीका में Choosing which Variables to Save and Restore देखें, कि (, अगर निर्दिष्ट या सिर्फ एक) उनकी सामग्री के साथ सभी चौकी tensors प्रिंट होगा:

from tensorflow.python.tools import inspect_checkpoint as inch 
inch.print_tensors_in_checkpoint_file('path/to/ckpt', '', True) 
""" 
Args: 
    file_name: Name of the checkpoint file. 
    tensor_name: Name of the tensor in the checkpoint file to print. 
    all_tensors: Boolean indicating whether to print all tensors. 
""" 

यह हमेशा टेन्सर की सामग्री प्रिंट होगा।

और, जब तक हम इसे पर हैं, तो यहां आपको checkpoint_utils उपयोग करने के लिए, पिछले जवाब ने सुझाव दिया है:

from tensorflow.contrib.framework.python.framework import checkpoint_utils 
    var_list = checkpoint_utils.list_variables('path/to/ckpt') 
    for v in var_list: print(v) 
संबंधित मुद्दे