guardar como tensorflow checkpoint

tensorflow - como guardar variables en labview



¿Cómo encuentro los nombres y valores de las variables que se guardan en un punto de control? (4)

Agregando más detalles de parámetros a print_tensors_in_checkpoint_file

file_name : no es un archivo físico, solo el prefijo de los nombres de archivo

Si no se proporciona tensor_name , imprime los nombres y las formas del tensor en el archivo de punto de control. Si se proporciona tensor_name , imprime el contenido del tensor. ( inspect_checkpoint.py )

Si all_tensor_names es True , imprime todos los nombres de tensor

Si all_tensor es ''Verdadero'', imprime todos los nombres de tensor y el contenido correspondiente.

NB all_tensor y all_tensor_names tensor_name

Quiero ver las variables que se guardan en un punto de control TensorFlow junto con sus valores. ¿Cómo puedo encontrar los nombres de las variables que se guardan en un punto de control TensorFlow?

tf.train.NewCheckpointReader que se explica here . Pero, no se encuentra en la documentación de TensorFlow. ¿Hay alguna otra manera?


Algunos detalles más.

Si su modelo se guarda en formato V2, por ejemplo, si tenemos los siguientes archivos en el directorio /my/dir/

model-10000.data-00000-of-00001 model-10000.index model-10000.meta

entonces el parámetro file_name solo debe ser el prefijo, es decir

print_tensors_in_checkpoint_file(file_name=''/my/dir/model_10000'', tensor_name='''', all_tensors=True)

Vea https://github.com/tensorflow/tensorflow/issues/7696 para una discusión.


Puede utilizar la herramienta inspect_checkpoint.py .

Por ejemplo, si almacenó el punto de control en el directorio actual, puede imprimir las variables y sus valores de la siguiente manera:

import tensorflow as tf from tensorflow.python.tools.inspect_checkpoint import print_tensors_in_checkpoint_file latest_ckp = tf.train.latest_checkpoint(''./'') print_tensors_in_checkpoint_file(latest_ckp, all_tensors=True, tensor_name='''')


Ejemplo de uso:

from tensorflow.python.tools.inspect_checkpoint import print_tensors_in_checkpoint_file import os checkpoint_path = os.path.join(model_dir, "model.ckpt") # List ALL tensors example output: v0/Adam (DT_FLOAT) [3,3,1,80] print_tensors_in_checkpoint_file(file_name=checkpoint_path, tensor_name='''') # List contents of v0 tensor. # Example output: tensor_name: v0 [[[[ 9.27958265e-02 7.40226209e-02 4.52989563e-02 3.15700471e-02 print_tensors_in_checkpoint_file(file_name=checkpoint_path, tensor_name=''v0'') # List contents of v1 tensor. print_tensors_in_checkpoint_file(file_name=checkpoint_path, tensor_name=''v1'')

Actualización: el argumento all_tensors se agregó a print_tensors_in_checkpoint_file desde Tensorflow 0.12.0-rc0, por lo que es posible que deba agregar all_tensors=False o all_tensors=True si es necesario.

Método alternativo:

from tensorflow.python import pywrap_tensorflow import os checkpoint_path = os.path.join(model_dir, "model.ckpt") reader = pywrap_tensorflow.NewCheckpointReader(checkpoint_path) var_to_shape_map = reader.get_variable_to_shape_map() for key in var_to_shape_map: print("tensor_name: ", key) print(reader.get_tensor(key)) # Remove this is you want to print only variable names

Espero eso ayude.