मैं टेंसरफ्लो के साथ कुछ प्रयोग कर रहा हूं, और एक झटके में भाग गया हूं। मैं एक मॉडल में बदलाव को evalute करने के लिए टीएफ का उपयोग करने की कोशिश कर रहा हूँ, फिर या तो हानि समारोह में परिणामी परिवर्तन के आधार पर, मॉडल को बरकरार या वापस लाएं। मुझे मुश्किल हिस्सा (सशर्त नियंत्रण) मिला है, लेकिन मैं कुछ ऐसी चीज पर फंस गया हूं जो काफी सरल होना चाहिए: मैं एक पुनरावृत्ति के लिए tf.trainable_variables
स्टोर नहीं कर सकता, फिर आवश्यक होने पर इसे पुनर्स्थापित कर सकता हूं।डिस्क पर मूल्य को सहेजे बिना, मैं पिछले मूल्य पर टेंसर को कैसे पुनर्स्थापित कर सकता हूं?
के निर्माण का कहना है कि एक Op करते हैं:
...
store_trainable_vars = []
for v in tf.trainable_variables():
store_trainable_vars.append(v)
...
फिर बाद में, मैं यह है कि वह था जब इस Op पिछले रन था tf.trainable_variables
पुनर्स्थापित करना चाहते हैं। ,
def reject_move():
revert_state = []
for (v, s) in zip(tf.trainable_variables(), store_trainable_vars):
revert_state.append(tf.assign(v, s, name="revert_state"))
return(revert_state)
जाहिर है, इस फिर से मूल्यांकन होगा store_trainable_vars
जो tf.trainable_variables()
के वर्तमान मूल्य, revert_state
Op obviating के लिए बारी लिंक में: मैं की तरह कुछ करना चाहता हूँ चाहते हैं। मुझे उन टेंसर के वर्तमान मूल्य पर वापस कॉल किए बिना टेंसर के मूल्य को स्टोर और पुनर्प्राप्त करने के कुछ तरीके की आवश्यकता है। जैसे
...
store_trainable_vars = []
for v in tf.trainable_variables():
store_trainable_vars.append(v.value_right_now())
...
जहां v.value_right_now()
एक निरंतर कि ओवरराइट जब तक परिवर्तन नहीं होगा रिटर्न कुछ।
मुझे पता है कि मैं सेवर का उपयोग कर सकता हूं, लेकिन वह समाधान डिस्क पर लिखता है, जो इस एप्लिकेशन के लिए स्वीकार्य नहीं है क्योंकि यह एक प्रशिक्षण लूप के अंदर चलाएगा।
मुझे शायद कुछ स्पष्ट याद आ रहा है - किसी भी मार्गदर्शन की सराहना की जाएगी।
मुझे स्पष्ट करना चाहिए: जब मैंने कहा कि मैं डिस्क पर लिखना नहीं चाहता था, तो ऐसा नहीं था क्योंकि मैं अंतरिक्ष के बारे में चिंतित था। यह भंडारण और बहाली, हर पुनरावृत्ति पर, सबसे बुरे मामले में होगी। डिस्क पर वापस पहुंचने के लिए यह चलने का समय जुर्माना है जिसे मैं टालने की कोशिश कर रहा हूं। क्या आप ग्राफ जवाब बहाल करने के लिए 'tf.group' के एक छोटे से उपयोग को प्रदर्शित करने के बजाय अपना उत्तर संपादित कर सकते हैं? (या सिर्फ इस तरह के एक उदाहरण से लिंक) –