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