नियंत्रित करता है कि जब TensorFlow संसाधनों की अब आवश्यकता नहीं है, तो उन्हें कैसे साफ़ किया जाता है।
एक के दौरान आवंटित सभी संसाधनों EagerSession
जब सत्र बंद कर दिया है नष्ट हो जाती हैं। पुरानी स्मृति त्रुटियों को रोकने के लिए, सत्र के दौरान उन संसाधनों को साफ करने का भी जोरदार सुझाव दिया जाता है। उदाहरण के लिए, m पुनरावृत्तियों के लूप में n संचालन निष्पादित करने से न्यूनतम n*m संसाधन आवंटित होंगे जबकि अधिकांश मामलों में, केवल अंतिम पुनरावृत्ति के संसाधनों का अभी भी उपयोग किया जा रहा है।
EagerSession
उदाहरणों, अलग अलग तरीकों से अधिसूचित किया जा सकता है जब TensorFlow वस्तुओं के लिए भेजा जा रहा है नहीं रह रहे हैं ताकि वे किसी भी संसाधनों वे स्वामित्व की सफाई करने के लिए आगे बढ़ सकते हैं।
विरासत में मिली विधियां
एनम मान
सार्वजनिक स्थिर अंतिम EagerSession.ResourceCleanupStrategy IN_BACKGROUND
पृष्ठभूमि में चल रहे नए थ्रेड से अप्रयुक्त संसाधनों की निगरानी करें और हटाएं।
इस कार्य के लिए समर्पित एक अतिरिक्त थ्रेड को शुरू करने और चलाने की कीमत पर, TensorFlow संसाधनों को साफ करने के लिए यह सबसे विश्वसनीय तरीका है। प्रत्येक EagerSession
उदाहरण अपने आप ही धागा है, जो केवल बंद कर दिया जाता है जब सत्र बंद कर दिया जाता है।
यह रणनीति डिफ़ॉल्ट रूप से उपयोग की जाती है।
सार्वजनिक स्थिर अंतिम EagerSession.ResourceCleanupStrategy ON_SAFE_POINTS
किसी अन्य कार्य को पूरा करने से पहले या बाद में मौजूदा थ्रेड्स से अप्रयुक्त संसाधनों की निगरानी करें और उन्हें हटा दें।
जब TensorFlow लाइब्रेरी में कॉल क्लीनअप के लिए एक सुरक्षित बिंदु पर पहुंच जाती है, तो अप्रयुक्त संसाधन जारी किए जाते हैं। यह समकालिक रूप से किया जाता है और उस कॉल को ट्रिगर करने वाले थ्रेड को थोड़े समय के लिए ब्लॉक कर सकता है।
इस रणनीति का उपयोग तभी किया जाना चाहिए जब, किन्हीं कारणों से, सफाई के लिए कोई अतिरिक्त धागा आवंटित नहीं किया जाना चाहिए। अन्यथा, IN_BACKGROUND
प्राथमिकता दी जानी चाहिए।
सार्वजनिक स्थिर अंतिम EagerSession.ResourceCleanupStrategy ON_SESSION_CLOSE
सत्र बंद होने पर ही संसाधन हटाएं।
सत्र के दौरान आवंटित सभी संसाधन तब तक स्मृति में बने रहेंगे जब तक सत्र स्पष्ट रूप से बंद नहीं हो जाता (या पारंपरिक `प्रयास-के-संसाधन` तकनीक के माध्यम से)। संसाधन सफाई के लिए कोई अतिरिक्त कार्य करने का प्रयास नहीं किया जाएगा।
यह रणनीति स्मृति से बाहर की त्रुटियों को जन्म दे सकती है और इसके उपयोग की अनुशंसा नहीं की जाती है, जब तक कि सत्र का दायरा केवल थोड़ी मात्रा में संचालन को निष्पादित करने तक सीमित न हो।