Controla como os recursos do TensorFlow são limpos quando não são mais necessários.
Todos os recursos alocados durante uma EagerSession
são excluídos quando a sessão é encerrada. Para evitar erros de falta de memória, também é altamente recomendável limpar esses recursos durante a sessão. Por exemplo, a execução de n operações em um loop de m iterações alocará um mínimo de n * m recursos, enquanto na maioria dos casos, apenas os recursos da última iteração ainda estão sendo usados.
EagerSession
casos pode ser notificado de maneiras diferentes quando os objetos TensorFlow não são mais referidas, para que possam proceder à limpeza de quaisquer recursos que eles possuíam.
Métodos herdados
Valores Enum
public static final, EagerSession.ResourceCleanupStrategy IN_BACKGROUND
Monitore e exclua recursos não utilizados de um novo encadeamento em execução em segundo plano.
Esta é a abordagem mais confiável para limpar os recursos do TensorFlow, ao custo de iniciar e executar um thread adicional dedicado a essa tarefa. Cada EagerSession
instância tem seu próprio segmento, o que só é interrompido quando a sessão é fechada.
Esta estratégia é usada por padrão.
public static final, EagerSession.ResourceCleanupStrategy ON_SAFE_POINTS
Monitore e exclua recursos não utilizados de threads existentes, antes ou depois de concluírem outra tarefa.
Os recursos não utilizados são liberados quando uma chamada para a biblioteca do TensorFlow atinge um ponto seguro para limpeza. Isso é feito de forma síncrona e pode bloquear por um curto período de tempo o encadeamento que acionou essa chamada.
Essa estratégia deve ser usada apenas se, por alguns motivos, nenhum encadeamento adicional deve ser alocado para limpeza. Caso contrário, IN_BACKGROUND
deve ser preferida.
public static final, EagerSession.ResourceCleanupStrategy ON_SESSION_CLOSE
Exclua recursos apenas quando a sessão for encerrada.
Todos os recursos alocados durante a sessão permanecerão na memória até que a sessão seja explicitamente fechada (ou através da técnica tradicional `try-with-resource`). Nenhuma tarefa extra para limpeza de recursos será tentada.
Essa estratégia pode levar a erros de falta de memória e seu uso não é recomendado, a menos que o escopo da sessão seja limitado para executar apenas uma pequena quantidade de operações.