Kontroluje sposób czyszczenia zasobów TensorFlow, gdy nie są już potrzebne.
Wszystkie zasoby przydzielone podczas EagerSession
są usuwane po zamknięciu sesji. Aby zapobiec błędom braku pamięci, zdecydowanie zaleca się wyczyszczenie tych zasobów podczas sesji. Na przykład wykonanie n operacji w pętli iteracji przydzieli minimum n*m zasobów, podczas gdy w większości przypadków nadal używane są tylko zasoby z ostatniej iteracji.
EagerSession
przypadki mogą być zgłaszane w różny sposób, gdy obiekty TensorFlow nie są już mowa, mogą więc przystąpić do czyszczenia wszelkich posiadanych zasobów oni.
Metody odziedziczone
Wyliczenie wartości
public static final EagerSession.ResourceCleanupStrategy IN_BACKGROUND
Monitoruj i usuwaj nieużywane zasoby z nowego wątku działającego w tle.
Jest to najbardziej niezawodne podejście do czyszczenia zasobów TensorFlow, kosztem uruchomienia i uruchomienia dodatkowego wątku dedykowanego do tego zadania. Każdy EagerSession
instancja ma swój własny wątek, który jest zatrzymywany tylko wtedy, gdy sesja jest zamknięta.
Ta strategia jest używana domyślnie.
public static final EagerSession.ResourceCleanupStrategy ON_SAFE_POINTS
Monitoruj i usuwaj nieużywane zasoby z istniejących wątków przed lub po zakończeniu innego zadania.
Niewykorzystane zasoby są zwalniane, gdy wywołanie biblioteki TensorFlow osiągnie bezpieczny punkt do oczyszczenia. Odbywa się to synchronicznie i może blokować na krótki czas wątek, który wyzwolił to wywołanie.
Ta strategia powinna być używana tylko wtedy, gdy z pewnych powodów nie należy przydzielać dodatkowego wątku do czyszczenia. W przeciwnym razie, IN_BACKGROUND
powinny być preferowane.
public static final EagerSession.ResourceCleanupStrategy ON_SESSION_CLOSE
Usuwaj zasoby tylko wtedy, gdy sesja jest zamknięta.
Wszystkie zasoby przydzielone podczas sesji pozostaną w pamięci, dopóki sesja nie zostanie jawnie zamknięta (lub za pomocą tradycyjnej techniki „try-with-resource”). Nie zostanie podjęta żadna dodatkowa próba czyszczenia zasobów.
Ta strategia może prowadzić do błędów braku pamięci i jej użycie nie jest zalecane, chyba że zakres sesji jest ograniczony do wykonania tylko niewielkiej liczby operacji.