تحذير: تم إهمال واجهة برمجة التطبيقات هذه وستتم إزالتها في إصدار مستقبلي من TensorFlow بعد استقرار الاستبدال .

EagerSession.ResourceCleanupStrategy

ساكنة العام النهائي EagerSession.ResourceCleanupStrategy التعداد

يتحكم في كيفية تنظيف موارد TensorFlow عندما لا تكون هناك حاجة إليها.

جميع الموارد المخصصة خلال EagerSession يتم حذف عند إغلاق الجلسة. لمنع أخطاء نفاد الذاكرة ، يُقترح أيضًا تنظيف هذه الموارد أثناء الجلسة. على سبيل المثال ، سيؤدي تنفيذ عمليات n في حلقة من التكرارات m إلى تخصيص موارد n * m كحد أدنى بينما في معظم الحالات ، لا يزال يتم استخدام موارد التكرار الأخير فقط.

EagerSession يمكن أن يكون أخطر الحالات بطرق مختلفة عندما الأجسام TensorFlow لم تعد إحالتها، حتى يتمكنوا من الشروع في تنظيف أي الموارد التي تملكها.

الطرق الموروثة

قيم التعداد

الجمهور ساكنة نهائي EagerSession.ResourceCleanupStrategy IN_BACKGROUND

مراقبة وحذف الموارد غير المستخدمة من موضوع جديد يعمل في الخلفية.

هذا هو النهج الأكثر موثوقية لتنظيف موارد TensorFlow ، على حساب بدء وتشغيل سلسلة محادثات إضافية مخصصة لهذه المهمة. كل EagerSession سبيل المثال لديها موضوع خاص بها، والتي توقفت فقط عند إغلاق الجلسة.

يتم استخدام هذه الاستراتيجية بشكل افتراضي.

الجمهور ساكنة نهائي EagerSession.ResourceCleanupStrategy ON_SAFE_POINTS

مراقبة وحذف الموارد غير المستخدمة من سلاسل الرسائل الموجودة ، قبل أو بعد إكمال مهمة أخرى.

يتم تحرير الموارد غير المستخدمة عندما تصل مكالمة بمكتبة TensorFlow إلى نقطة آمنة للتنظيف. يتم ذلك بشكل متزامن وقد يحظر لفترة زمنية قصيرة مؤشر الترابط الذي أطلق هذه المكالمة.

يجب استخدام هذه الاستراتيجية فقط إذا ، لبعض الأسباب ، لا ينبغي تخصيص أي مؤشر ترابط إضافي للتنظيف. خلاف ذلك، IN_BACKGROUND ينبغي تفضيل.

الجمهور ساكنة نهائي EagerSession.ResourceCleanupStrategy ON_SESSION_CLOSE

احذف الموارد فقط عند إغلاق الجلسة.

ستبقى جميع الموارد المخصصة أثناء الجلسة في الذاكرة حتى يتم إغلاق الجلسة صراحةً (أو عبر تقنية "try-with-Resource" التقليدية). لن تتم محاولة أي مهمة إضافية لتنظيف المورد.

يمكن أن تؤدي هذه الإستراتيجية إلى حدوث أخطاء خارج الذاكرة ولا يوصى باستخدامها ، ما لم يقتصر نطاق الجلسة على تنفيذ قدر صغير فقط من العمليات.