Kontroluje sposób czyszczenia zasobów TensorFlow, gdy nie są już potrzebne.
Wszystkie zasoby przydzielone podczas sesji EagerSession
są usuwane po zamknięciu sesji. Aby zapobiec błędom związanym z brakiem pamięci, zdecydowanie zaleca się czyszczenie tych zasobów podczas sesji. Na przykład wykonanie n operacji w pętli iteracji spowoduje przydzielenie co najmniej n*m zasobów, podczas gdy w większości przypadków nadal używane są tylko zasoby z ostatniej iteracji.
Instancje EagerSession
można powiadamiać na różne sposoby, gdy obiekty TensorFlow nie są już odwoływane, dzięki czemu mogą przystąpić do czyszczenia wszelkich posiadanych zasobów.
Metody dziedziczone
końcowy wew | porównajDo (E arg0) |
wew | porównajTo (Obiekt arg0) |
końcowa wartość logiczna | równa się (Obiekt arg0) |
ostatnia klasa<E> | getDeclaringClass () |
końcowy wew | hashCode () |
ostatni ciąg | nazwa () |
końcowy wew | porządkowy () |
Strunowy | doString () |
statyczny <T rozszerza Enum<T>> T | wartośćOf (Klasa<T> arg0, Łańcuch arg1) |
wartość logiczna | równa się (Obiekt arg0) |
ostatnia klasa<?> | pobierzKlasę () |
wew | hashCode () |
ostateczna pustka | powiadomić () |
ostateczna pustka | powiadom wszystkich () |
Strunowy | doString () |
ostateczna pustka | czekaj (długi arg0, int arg1) |
ostateczna pustka | czekaj (długi arg0) |
ostateczna pustka | Czekać () |
streszczenie wew | porównajTo (E rozszerza Enum<E> arg0) |
Wartości wyliczeniowe
publiczny statyczny końcowy 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
posiada własny wątek, który zostaje zatrzymany dopiero po zamknięciu sesji.
Ta strategia jest używana domyślnie.
publiczny statyczny końcowy EagerSession.ResourceCleanupStrategy ON_SAFE_POINTS
Monitoruj i usuwaj nieużywane zasoby z istniejących wątków przed lub po wykonaniu przez nie innego zadania.
Niewykorzystane zasoby są zwalniane, gdy wywołanie biblioteki TensorFlow osiągnie bezpieczny punkt do oczyszczenia. Odbywa się to synchronicznie i może zablokować na krótki czas wątek, który wyzwolił 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 preferowane powinno być IN_BACKGROUND
.
publiczny statyczny końcowy EagerSession.ResourceCleanupStrategy ON_SESSION_CLOSE
Usuń zasoby tylko wtedy, gdy sesja jest zamknięta.
Wszystkie zasoby przydzielone podczas sesji pozostaną w pamięci do czasu jawnego zamknięcia sesji (lub za pomocą tradycyjnej techniki „spróbuj z zasobami”). Nie zostanie podjęta żadna dodatkowa próba oczyszczenia zasobów.
Strategia ta może prowadzić do błędów związanych z brakiem pamięci i jej użycie nie jest zalecane, chyba że zakres sesji jest ograniczony do wykonania jedynie niewielkiej liczby operacji.