EagerSession.ResourceCleanupStrategy

enumeración final estática pública EagerSession.ResourceCleanupStrategy

Controla cómo se limpian los recursos de TensorFlow cuando ya no se necesitan.

Todos los recursos asignados durante una EagerSession se eliminan cuando se cierra la sesión. Para evitar errores de falta de memoria, también se recomienda limpiar esos recursos durante la sesión. Por ejemplo, ejecutar n operaciones en un bucle de iteraciones asignará un mínimo de n*m ​​recursos mientras que, en la mayoría de los casos, solo se seguirán utilizando los recursos de la última iteración.

Las instancias EagerSession pueden recibir notificaciones de diferentes maneras cuando ya no se hace referencia a los objetos de TensorFlow, para que puedan proceder a la limpieza de los recursos que poseían.

Métodos Heredados

Valores de enumeración

público estático final EagerSession.ResourceCleanupStrategy IN_BACKGROUND

Supervise y elimine los recursos no utilizados de un nuevo subproceso que se ejecuta en segundo plano.

Este es el enfoque más confiable para limpiar los recursos de TensorFlow, a costa de iniciar y ejecutar un subproceso adicional dedicado a esta tarea. Cada instancia EagerSession tiene su propio subproceso, que se detiene solo cuando se cierra la sesión.

Esta estrategia se utiliza por defecto.

público estático final EagerSession.ResourceCleanupStrategy ON_SAFE_POINTS

Supervise y elimine los recursos no utilizados de los subprocesos existentes, antes o después de que completen otra tarea.

Los recursos no utilizados se liberan cuando una llamada a la biblioteca de TensorFlow llega a un punto seguro para la limpieza. Esto se hace de forma síncrona y podría bloquear durante un breve período de tiempo el subproceso que activó esa llamada.

Esta estrategia debe usarse solo si, por alguna razón, no se debe asignar un subproceso adicional para la limpieza. De lo contrario, se debe preferir IN_BACKGROUND .

público estático final EagerSession.ResourceCleanupStrategy ON_SESSION_CLOSE

Solo elimine recursos cuando la sesión esté cerrada.

Todos los recursos asignados durante la sesión permanecerán en la memoria hasta que la sesión se cierre explícitamente (o mediante la técnica tradicional de "probar con recursos"). No se intentará ninguna tarea adicional para la limpieza de recursos.

Esta estrategia puede provocar errores de falta de memoria y no se recomienda su uso, a menos que el alcance de la sesión se limite a ejecutar solo una pequeña cantidad de operaciones.