Artık ihtiyaç duyulmadığında TensorFlow kaynaklarının nasıl temizleneceğini kontrol eder.
Bir EagerSession
sırasında tahsis edilen tüm kaynaklar, oturum kapatıldığında silinir. Yetersiz bellek hatalarını önlemek için, bu kaynakların oturum sırasında temizlenmesi de önemle tavsiye edilir. Örneğin, n işlemin bir yineleme döngüsünde yürütülmesi, minimum n*m kaynak tahsis edecek, çoğu durumda ise yalnızca son yinelemenin kaynakları kullanılmaya devam edecektir.
EagerSession
örnekleri, TensorFlow nesnelerine artık başvurulmadığında farklı şekillerde bilgilendirilebilir, böylece sahip oldukları kaynakların temizliğine devam edebilirler.
Kalıtsal Yöntemler
Numaralandırma Değerleri
genel statik final EagerSession.ResourceCleanupStrategy IN_BACKGROUND
Arka planda çalışan yeni bir iş parçacığından kullanılmayan kaynakları izleyin ve silin.
Bu, bu göreve ayrılmış ek bir iş parçacığının başlatılması ve çalıştırılması pahasına TensorFlow kaynaklarını temizlemeye yönelik en güvenilir yaklaşımdır. Her EagerSession
örneğinin kendi iş parçacığı vardır ve bu iş parçacığı yalnızca oturum kapatıldığında durdurulur.
Bu strateji varsayılan olarak kullanılır.
genel statik final EagerSession.ResourceCleanupStrategy ON_SAFE_POINTS
Başka bir görevi tamamlamadan önce veya tamamladıktan sonra, mevcut iş parçacıklarından kullanılmayan kaynakları izleyin ve silin.
TensorFlow kitaplığına yapılan bir çağrı temizleme için güvenli bir noktaya ulaştığında kullanılmayan kaynaklar serbest bırakılır. Bu eşzamanlı olarak yapılır ve bu çağrıyı tetikleyen iş parçacığını kısa bir süre için engelleyebilir.
Bu strateji yalnızca bazı nedenlerden dolayı temizleme için ek bir iş parçacığının tahsis edilmesi gerekmiyorsa kullanılmalıdır. Aksi halde IN_BACKGROUND
tercih edilmelidir.
genel statik final EagerSession.ResourceCleanupStrategy ON_SESSION_CLOSE
Kaynakları yalnızca oturum kapatıldığında silin.
Oturum sırasında tahsis edilen tüm kaynaklar, oturum açıkça kapatılana kadar (veya geleneksel "kaynakla dene" tekniği kullanılarak) bellekte kalacaktır. Kaynak temizliği için ekstra bir görev yapılmayacaktır.
Bu strateji, yetersiz bellek hatalarına yol açabilir ve oturumun kapsamı yalnızca az miktarda işlemin yürütülmesiyle sınırlı olmadığı sürece kullanılması önerilmez.