Partecipa al simposio Women in ML il 7 dicembre Registrati ora

EagerSession.ResourceCleanupStrategy

enumerazione finale statica pubblica EagerSession.ResourceCleanupStrategy

Controlla il modo in cui le risorse TensorFlow vengono pulite quando non sono più necessarie.

Tutte le risorse allocate durante una EagerSession vengono eliminate alla chiusura della sessione. Per evitare errori di memoria insufficiente, si consiglia inoltre vivamente di pulire tali risorse durante la sessione. Ad esempio, l'esecuzione di n operazioni in un ciclo di m iterazioni allocherà un minimo di n * m risorse mentre nella maggior parte dei casi vengono ancora utilizzate solo le risorse dell'ultima iterazione.

EagerSession istanze di EagerSession possono essere notificate in diversi modi quando gli oggetti TensorFlow non vengono più indirizzati, in modo che possano procedere alla pulizia di qualsiasi risorsa di loro proprietà.

Metodi ereditati

Valori enumerativi

finale statico pubblico EagerSession.ResourceCleanupStrategy IN_BACKGROUND

Monitorare ed eliminare le risorse inutilizzate da un nuovo thread in esecuzione in background.

Questo è l'approccio più affidabile per pulire le risorse TensorFlow, a costo di avviare ed eseguire un thread aggiuntivo dedicato a questa attività. Ogni istanza di EagerSession ha il proprio thread, che viene arrestato solo quando la sessione viene chiusa.

Questa strategia viene utilizzata per impostazione predefinita.

finale statico pubblico EagerSession.ResourceCleanupStrategy ON_SAFE_POINTS

Monitorare ed eliminare le risorse inutilizzate dai thread esistenti, prima o dopo aver completato un'altra attività.

Le risorse inutilizzate vengono rilasciate quando una chiamata alla libreria TensorFlow raggiunge un punto sicuro per la pulizia. Questa operazione viene eseguita in modo sincrono e potrebbe bloccare per un breve periodo di tempo il thread che ha attivato quella chiamata.

Questa strategia deve essere utilizzata solo se, per alcuni motivi, non è necessario allocare alcun thread aggiuntivo per la pulizia. In caso contrario, dovrebbe essere preferibile IN_BACKGROUND .

finale statico pubblico EagerSession.ResourceCleanupStrategy ON_SESSION_CLOSE

Elimina le risorse solo quando la sessione è chiusa.

Tutte le risorse allocate durante la sessione rimarranno in memoria fino a quando la sessione non viene esplicitamente chiusa (o tramite la tradizionale tecnica "try-with-resource"). Non verrà tentata alcuna attività aggiuntiva per la pulizia delle risorse.

Questa strategia può portare a errori di memoria insufficiente e il suo utilizzo non è consigliato, a meno che l'ambito della sessione non sia limitato all'esecuzione di una piccola quantità di operazioni.