TensorFlow kaynaklarının artık ihtiyaç duyulmadığında nasıl temizlendiğ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 şiddetle önerilir. Örneğin, bir m iterasyon döngüsünde n işlem yürütmek, minimum n * m kaynak tahsis ederken, çoğu durumda yalnızca son yinelemenin kaynakları hala kullanılmaktadır.
EagerSession
örnekleri, TensorFlow nesnelerine artık başvurulmadığında farklı yollarla bildirilebilir, böylece sahip oldukları kaynakları temizlemeye devam edebilirler.
Devralınan Yöntemler
Enum Değerleri
public static 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ığı başlatma ve çalıştırma pahasına TensorFlow kaynaklarını temizlemek için en güvenilir yaklaşımdır. Her EagerSession
örneğinin kendi iş parçacığı vardır ve yalnızca oturum kapatıldığında durdurulur.
Bu strateji varsayılan olarak kullanılır.
public static final EagerSession.ResourceCleanupStrateji ON_SAFE_POINTS
Başka bir görevi tamamlamadan önce veya tamamladıktan sonra kullanılmayan kaynakları mevcut iş parçacıklarından izleyin ve silin.
Kullanılmayan kaynaklar, TensorFlow kitaplığına yapılan bir çağrı temizleme için güvenli bir noktaya ulaştığında serbest bırakılır. Bu eşzamanlı olarak yapılır ve bu aramayı tetikleyen iş parçacığını kısa bir süre için bloke edebilir.
Bu strateji, yalnızca bazı nedenlerden dolayı temizleme için ek bir iş parçacığı ayrılmaması gerektiğinde kullanılmalıdır. Aksi takdirde IN_BACKGROUND
tercih edilmelidir.
public static final EagerSession.ResourceCleanupStrateji 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 deneme" tekniği aracılığıyla) bellekte kalacaktır. Kaynak temizleme için ekstra bir görev yapılmayacaktır.
Bu strateji yetersiz bellek hatalarına yol açabilir ve oturumun kapsamı yalnızca küçük miktarda işlem yürütmekle sınırlı olmadığı sürece kullanılması önerilmez.