Ta strona została przetłumaczona przez Cloud Translation API.
Switch to English

EagerSession.ResourceCleanupStrategy

publiczne statyczne końcowe wyliczenie EagerSession.ResourceCleanupStrategy

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ę również wyczyszczenie tych zasobów podczas sesji. Na przykład wykonanie n operacji w pętli m iteracji przydzieli minimum n * m zasobów, podczas gdy w większości przypadków nadal używane są tylko zasoby z ostatniej iteracji.

Instancje EagerSession mogą być powiadamiane na różne sposoby, gdy obiekty TensorFlow nie są już odwoływane, dzięki czemu mogą przystąpić do czyszczenia wszelkich posiadanych zasobów.

Dziedziczone metody

Wartości wyliczeniowe

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 temu zadaniu. Każda instancja EagerSession ma swój własny wątek, który jest zatrzymywany dopiero po zamknięciu sesji.

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 wykonaniu innego zadania.

Nieużywane zasoby są zwalniane, gdy wywołanie biblioteki TensorFlow osiągnie bezpieczny punkt czyszczenia. Odbywa się to synchronicznie i może na krótki czas zablokować wątek, który wywołał to wywołanie.

Tej strategii należy używać tylko wtedy, gdy z jakichś powodów nie należy przydzielać dodatkowego wątku do czyszczenia. W przeciwnym razie IN_BACKGROUND powinno być IN_BACKGROUND .

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 „spróbuj z zasobem”). Nie będzie podejmowane żadne dodatkowe zadanie 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 wykonywania tylko niewielkiej liczby operacji.