Este equipo de expertos pasados algunos días de trabajo y de recopilar de información, hemos dado con la solución, queremos que te sea útil en tu trabajo.
Ver fuente en GitHub |
Gestiona varios puntos de control conservando algunos y eliminando los innecesarios.
Ver alias
Compat alias para la migración
Ver Guía de migración para más detalles.
tf.train.CheckpointManager( checkpoint, directory, max_to_keep, keep_checkpoint_every_n_hours=None, checkpoint_name='ckpt', step_counter=None, checkpoint_interval=None, init_fn=None)
Uso de ejemplo:
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)whileTrue:# train manager.save()
CheckpointManager
conserva su propio estado a través de las instancias (ver el __init__
documentación para más detalles). Solo uno debe estar activo en un directorio en particular a la vez.
Args | |
---|---|
checkpoint |
los tf.train.Checkpoint instancia para guardar y administrar puntos de control. |
directory |
La ruta a un directorio en el que escribir puntos de control. 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 del CheckpointManager . |
max_to_keep |
Un número entero, la cantidad de puntos de control que se deben mantener. A menos que sea preservado por keep_checkpoint_every_n_hours , los puntos de control se eliminarán del conjunto activo, los más antiguos primero, hasta que max_to_keep quedan puestos de control. Si None , no se eliminan los puntos de control y todo permanece en el conjunto activo. Tenga en cuenta que max_to_keep=None mantendrá todas las rutas de los puntos de control en la memoria y en el búfer del protocolo de estado del punto de control en el disco. |
keep_checkpoint_every_n_hours |
Tras la eliminación del conjunto activo, se conservará un punto de control si ha sido al menos keep_checkpoint_every_n_hours desde el último puesto de control conservado. La configuración predeterminada de None no conserva ningún punto de control de esta manera. |
checkpoint_name |
Nombre personalizado para el archivo de punto de control. |
step_counter |
A tf.Variable instancia para verificar el valor actual del contador de pasos, en caso de que los usuarios quieran guardar puntos de control cada N pasos. |
checkpoint_interval |
Un número entero, indica el intervalo de paso mínimo entre dos puntos de control. |
init_fn |
Invocable. Una función para realizar una inicialización personalizada si no hay puntos de control en el directorio. |
Eleva | |
---|---|
ValueError |
Si max_to_keep no es un número entero positivo. |
Atributos | |
---|---|
checkpoint |
Devuelve el tf.train.Checkpoint objeto. |
checkpoint_interval |
|
checkpoints |
Una lista de puntos de control gestionados. Tenga en cuenta que los puntos de control guardados debido a |
directory |
|
latest_checkpoint |
los prefix del puesto de control más reciente en directory .
Equivalente a Adecuado para pasar a |
Métodos
restore_or_initialize
restore_or_initialize()
Restaurar elementos en checkpoint
desde el último archivo de punto de control.
Este método primero intentará restaurar desde el punto de control más reciente en directory
. Si no existen puntos de control en directory
, y init_fn
se especifica, este método llamará init_fn
para realizar una inicialización personalizada. Esto se puede utilizar para admitir la inicialización a partir de modelos previamente entrenados.
Tenga en cuenta que a diferencia de tf.train.Checkpoint.restore()
, este método no devuelve un objeto de estado de carga en el que los usuarios pueden ejecutar aserciones (por ejemplo, assert_consumed ()). Por lo tanto, para ejecutar aserciones, los usuarios deben usar directamente tf.train.Checkpoint.restore()
método.
Devoluciones | |
---|---|
La ruta del punto de control restaurada si se encuentra y se restaura el último punto de control. De lo contrario Ninguno. |
save
save( checkpoint_number=None, check_interval=True)
Crea un nuevo punto de control y lo gestiona.
Args | |
---|---|
checkpoint_number |
Un número entero opcional o un tipo d-entero Variable o Tensor , utilizado para numerar el punto de control. Si None (predeterminado), los puntos de control se numeran usando checkpoint.save_counter . Incluso si checkpoint_number está provisto, save_counter todavía se incrementa. Proporcionado por el usuario checkpoint_number no se incrementa incluso si es un Variable . |
check_interval |
Un booleano opcional. El argumento solo es efectivo cuando checkpoint_interval se pasa al administrador. Si True , el administrador solo guardará el punto de control si el intervalo entre los puntos de control es mayor que checkpoint_interval . De lo contrario, siempre guardará el punto de control a menos que ya se haya guardado un punto de control para el paso actual. |
Devoluciones | |
---|---|
El camino al nuevo punto de control. También se registra en el checkpoints y latest_checkpoint propiedades. None si no se guarda ningún punto de control. |
Al final de la post puedes encontrar las interpretaciones de otros usuarios, tú asimismo puedes insertar el tuyo si dominas el tema.