Avertissement: cette API est obsolète et sera supprimée dans une future version de TensorFlow une fois le remplacement stable.

EagerSession.ResourceCleanupStrategy

public static final ENUM EagerSession.ResourceCleanupStrategy

Contrôle la façon dont les ressources TensorFlow sont nettoyées lorsqu'elles ne sont plus nécessaires.

Toutes les ressources allouées au cours d' une EagerSession sont supprimés lorsque la session est fermée. Pour éviter les erreurs de mémoire insuffisante, il est également fortement suggéré de nettoyer ces ressources pendant la session. Par exemple, exécuter n opérations dans une boucle de m itérations allouera un minimum de n*m ​​ressources alors que dans la plupart des cas, seules les ressources de la dernière itération sont encore utilisées.

EagerSession instances peuvent être informés de différentes manières lorsque des objets tensorflow ne sont plus visés, afin qu'ils puissent procéder au nettoyage de toutes les ressources qu'ils possédaient.

Méthodes héritées

Valeurs d'énumération

public static final EagerSession.ResourceCleanupStrategy IN_BACKGROUND

Surveillez et supprimez les ressources inutilisées d'un nouveau thread exécuté en arrière-plan.

Il s'agit de l'approche la plus fiable pour nettoyer les ressources TensorFlow, au prix du démarrage et de l'exécution d'un thread supplémentaire dédié à cette tâche. Chaque EagerSession instance possède son propre fil, qui est arrêté que lorsque la session est fermée.

Cette stratégie est utilisée par défaut.

public static final EagerSession.ResourceCleanupStrategy ON_SAFE_POINTS

Surveillez et supprimez les ressources inutilisées des threads existants, avant ou après avoir terminé une autre tâche.

Les ressources inutilisées sont libérées lorsqu'un appel à la bibliothèque TensorFlow atteint un point sûr pour le nettoyage. Cela se fait de manière synchrone et peut bloquer pendant une courte période le thread qui a déclenché cet appel.

Cette stratégie ne doit être utilisée que si, pour certaines raisons, aucun thread supplémentaire ne doit être alloué pour le nettoyage. Dans le cas contraire, IN_BACKGROUND doit être préférée.

public static final EagerSession.ResourceCleanupStrategy ON_SESSION_CLOSE

Ne supprimez les ressources que lorsque la session est fermée.

Toutes les ressources allouées pendant la session resteront en mémoire jusqu'à ce que la session soit explicitement fermée (ou via la technique traditionnelle "try-with-resource"). Aucune tâche supplémentaire pour le nettoyage des ressources ne sera tentée.

Cette stratégie peut conduire à des erreurs de mémoire insuffisante et son utilisation n'est pas recommandée, sauf si la portée de la session est limitée à l'exécution d'un petit nombre d'opérations.