AWS DeepLens Guía para desarrolladores
Crear y ejecutar el proyecto de
detección de posición de cabeza
!ls
ii.
Para descomprimir el artefacto del modelo entrenado (model.tar.gz), ejecute el siguiente
comando de shell en una celda de código:
!tar -xvf model.tar.gz
Este comando producirá el siguiente resultado:
export/
export/Servo/
export/Servo/1534474516/
export/Servo/1534474516/variables/
export/Servo/1534474516/variables/variables.data-00000-of-00001
export/Servo/1534474516/variables/variables.index
export/Servo/1534474516/saved_model.pb
La ruta a un directorio del modelo tendrá el patrón export/*/*. Debe especificar la ruta
del directorio del modelo para crear un archivo protobuff congelado a partir del artefacto del
modelo. Verá cómo obtener esta ruta del directorio en el siguiente paso.
iii.
Para obtener la ruta del directorio y almacenarla en la memoria caché, ejecute el siguiente
código Python en una celda de código de la instancia de bloc de notas:
import glob
model_dir = glob.glob('export/*/*')
# The model directory looks like 'export/Servo/{Assigned by Amazon SageMaker}'
print(model_dir)
El resultado será ['export/Servo/1534474516'].
Puede continuar con la congelación del gráfico y su guardado en el formato protobuff
congelado.
iv. Para congelar el gráfico TensorFlow y guardarlo en el formato protobuff congelado, ejecute
el siguiente fragmento de código Python en una celda de código de la instancia de bloc de
notas. Este fragmento de código hace lo siguiente:
1. Llama a convert_variables_to_constants desde el módulo tf.graph_util para
congelar el gráfico.
2. Llama a remove_training_nodes desde el módulo tf.graph_util para eliminar
todos los nodos innecesarios.
3. Llama a optimize_for_inference desde el módulo
optimize_for_inference_lib para generar la inferencia graph_def.
4. Serializa y guarda el archivo como protobuff.
import tensorflow as tf
from tensorflow.python.tools import optimize_for_inference_lib
def freeze_graph(model_dir, input_node_names, output_node_names):
"""Extract the sub graph defined by the output nodes and convert
all its variables into constant
Args:
model_dir: the root folder containing the checkpoint state file,
input_node_names: a comma-separated string, containing the names of all
input nodes
102