Se usó la API de Cloud Translation para traducir esta página.
Switch to English

tf.train.CheckpointManager

TensorFlow 1 versión Ver código fuente en GitHub

Gestiona múltiples puestos de control por mantener cierta y eliminar los que no sean necesarios.

Se utiliza en los cuadernos

Se utiliza en la guía Se utiliza en los tutoriales

Ejemplo de uso:

 import tensorflow as tf
checkpoint = tf.train.Checkpoint(optimizer=optimizer, model=model)
manager = tf.train.CheckpointManager(
    checkpoint, directory="/tmp/model", max_to_keep=5)
status = checkpoint.restore(manager.latest_checkpoint)
while True:
  # train
  manager.save()
 

CheckpointManager conserva su propio estado a través de instancias (ver el __init__ documentación para más detalles). Sólo uno debe ser activo en un directorio en particular a la vez.

checkpoint El tf.train.Checkpoint ejemplo, para guardar y administrar los puntos de control para.
directory La ruta a un directorio en el que los puntos de control de escritura. Un archivo especial llamado "punto de control" también se escribe en este directorio (en un formato de texto legible por humanos) que contiene el estado de la CheckpointManager .
max_to_keep Un número entero, el número de puntos de control para mantener. A no ser preservada por keep_checkpoint_every_n_hours , puestos de control se eliminarán del conjunto activo, más antiguo en primer lugar, hasta que sólo max_to_keep puestos de control se mantienen. Si None , no hay puestos de control se eliminan y todo lo que queda en el conjunto activo. Tenga en cuenta que max_to_keep=None mantendrán todos los caminos de puntos de control en la memoria y en la memoria de protocolo de estado de puesto de control en el disco.
keep_checkpoint_every_n_hours Tras la eliminación del conjunto activo, un puesto de control se conservará si ha habido al menos keep_checkpoint_every_n_hours desde el último punto de control conservado. El ajuste predeterminado de None no conserva ningún punto de control de esta manera.
checkpoint_name nombre personalizado para el archivo de controles.
step_counter Un tf.Variable ejemplo, para comprobar el valor del contador de paso actual, en caso los usuarios quieren salvar los puestos de control cada N pasos.
checkpoint_interval Un entero, indica el intervalo de paso mínima entre dos puntos de control.
init_fn Exigible. Una función para hacer personalizarse inicialización si no hay puestos de control están en el directorio.

ValueError Si max_to_keep no es un entero positivo.

checkpoint Devuelve el tf.train.Checkpoint objeto.
checkpoint_interval

checkpoints Una lista de los puestos de control gestionados.

Tenga en cuenta que los puntos de control guardados debido a keep_checkpoint_every_n_hours no se mostrarán en esta lista (para evitar crecientes listas de nombres de archivo).

directory

latest_checkpoint El prefijo del punto de control más reciente en el directory .

Equivalente a tf.train.latest_checkpoint(directory) donde directory es el argumento del constructor de CheckpointManager .

Adecuado para pasar a tf.train.Checkpoint.restore a la formación de reanudación.

Métodos

restore_or_initialize

Ver fuente

Restaurar los elementos en checkpoint desde el archivo de controles más reciente.

Este método primero tratará de restaurar desde el punto de control más reciente en el directory . Si no existen puntos de control en el directory , y init_fn se especifica, este método llamará init_fn a hacer la inicialización personalizado. Esto se puede utilizar para apoyar la inicialización de los modelos pretrained.

Tenga en cuenta que a diferencia de tf.train.Checkpoint.restore() , este método no devuelve un objeto de estado de carga que los usuarios pueden ejecutar las afirmaciones sobre (por ejemplo assert_consumed ()). De este modo a las afirmaciones de ejecución, los usuarios deben utilizar directamente tf.train.Checkpoint.restore() método.

Devoluciones
El camino puesto de control restaurado si el puesto de control se encuentra lastest y restaurado. De lo contrario Ninguno.

save

Ver fuente

Crea un nuevo punto de control y lo maneja.

args
checkpoint_number Un entero opcional, o un número entero-dtype Variable o Tensor , usado para el número del punto de control. Si None (predeterminado), los puntos de control se numeran usando checkpoint.save_counter . Incluso si checkpoint_number se proporciona, save_counter se incrementa todavía. A proporcionado por el usuario checkpoint_number no se incrementa incluso si se trata de una Variable .
check_interval Un booleano opcional. El argumento sólo es eficaz cuando checkpoint_interval traspasó el gerente. Si True , el entrenador solamente salvar el puesto de control si el intervalo entre los puntos de control es mayor que checkpoint_interval . De lo contrario, siempre se va a salvar el puesto de control a menos que un puesto de control ya se ha guardado para el paso actual.

Devoluciones
El camino hacia el nuevo punto de control. También se registra en los checkpoints y latest_checkpoint propiedades. None si no hay punto de control se guarda.