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