EagerSession.ResourceCleanupStrategy
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
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
Z klasy java.lang.Enum 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) |
Z klasy java.lang.Object 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ć () |
Z interfejsu java.lang.Comparable 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.
O ile nie stwierdzono inaczej, treść tej strony jest objęta licencją Creative Commons – uznanie autorstwa 4.0, a fragmenty kodu są dostępne na licencji Apache 2.0. Szczegółowe informacje na ten temat zawierają zasady dotyczące witryny Google Developers. Java jest zastrzeżonym znakiem towarowym firmy Oracle i jej podmiotów stowarzyszonych. Część treści jest objęta licencją numpy.
Ostatnia aktualizacja: 2025-07-27 UTC.
[null,null,["Ostatnia aktualizacja: 2025-07-27 UTC."],[],[],null,["# EagerSession.ResourceCleanupStrategy\n\npublic static final enum **EagerSession.ResourceCleanupStrategy** \nControls how TensorFlow resources are cleaned up when they are no longer needed.\n\nAll resources allocated during an `EagerSession` are deleted when the session is\nclosed. To prevent out-of-memory errors, it is also strongly suggest to cleanup those resources\nduring the session. For example, executing n operations in a loop of m iterations will allocate\na minimum of n\\*m resources while in most cases, only resources of the last iteration are still\nbeing used.\n\n`EagerSession` instances can be notified in different ways when TensorFlow objects are\nno longer being referred, so they can proceed to the cleanup of any resources they owned.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n### Inherited Methods\n\nFrom class java.lang.Enum \n\n|----------------------------------|---------------------------------------|\n| final int | compareTo(E arg0) |\n| int | compareTo(Object arg0) |\n| final boolean | equals(Object arg0) |\n| final Class\\\u003cE\\\u003e | getDeclaringClass() |\n| final int | hashCode() |\n| final String | name() |\n| final int | ordinal() |\n| String | toString() |\n| static \\\u003cT extends Enum\\\u003cT\\\u003e\\\u003e T | valueOf(Class\\\u003cT\\\u003e arg0, String arg1) |\n\nFrom class java.lang.Object \n\n|------------------|---------------------------|\n| boolean | equals(Object arg0) |\n| final Class\\\u003c?\\\u003e | getClass() |\n| int | hashCode() |\n| final void | notify() |\n| final void | notifyAll() |\n| String | toString() |\n| final void | wait(long arg0, int arg1) |\n| final void | wait(long arg0) |\n| final void | wait() |\n\nFrom interface java.lang.Comparable \n\n|--------------|-------------------------------------|\n| abstract int | compareTo(E extends Enum\\\u003cE\\\u003e arg0) |\n\nEnum Values\n-----------\n\n#### public static final EagerSession.ResourceCleanupStrategy\n**IN_BACKGROUND**\n\nMonitor and delete unused resources from a new thread running in background.\n\nThis is the most reliable approach to cleanup TensorFlow resources, at the cost of\nstarting and running an additional thread dedicated to this task. Each `EagerSession`\ninstance has its own thread, which is stopped only when the session is closed.\n\nThis strategy is used by default.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n#### public static final EagerSession.ResourceCleanupStrategy\n**ON_SAFE_POINTS**\n\nMonitor and delete unused resources from existing threads, before or after they complete\nanother task.\n\nUnused resources are released when a call to the TensorFlow library reaches a safe point\nfor cleanup. This is done synchronously and might block for a short period of time the thread\nwho triggered that call.\n\nThis strategy should be used only if, for some reasons, no additional thread should be\nallocated for cleanup. Otherwise, [IN_BACKGROUND](/versions/r2.13/api_docs/java/org/tensorflow/EagerSession.ResourceCleanupStrategy#IN_BACKGROUND) should be preferred.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n#### public static final EagerSession.ResourceCleanupStrategy\n**ON_SESSION_CLOSE**\n\nOnly delete resources when the session is closed.\n\nAll resources allocated during the session will remained in memory until the session is\nexplicitly closed (or via the traditional \\`try-with-resource\\` technique). No extra task for\nresource cleanup will be attempted.\n\nThis strategy can lead up to out-of-memory errors and its usage is not recommended, unless\nthe scope of the session is limited to execute only a small amount of operations.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e"]]