Optimizar un modelo personalizado
AWS DeepLens utiliza la biblioteca para redes neuronales clDNN (Compute Library for Deep Neural
Networks) para aprovechar la GPU para realizar inferencias. Si los artefactos de su modelo no son
compatibles con el formato cIDNN, debe convertirlos llamando al módulo (mo) de optimización de modelos.
Este proceso se denomina optimización de modelos. Los artefactos de modelos producidos por MXNet,
Caffe o TensorFlow no se optimizan.
Para optimizar los artefactos de sus modelos, llame al método
muestra en el siguiente código:
error, model_path = mo.optimize(model_name,input_width,input_height)
Para cargar un artefacto de modelo para la inferencia en su función Lambda de inferencia, especifique la
ruta del artefacto del modelo en el dispositivo. En el caso de un artefacto de modelo sin optimizar, debe
usar la model_path que devuelva la llamada al método anterior.
Los modelos se implementan en el directorio /opt/awscam/artifacts del dispositivo. Un artefacto
de modelo optimizado se serializa en un archivo XML y puede asignar la ruta del archivo directamente a
la variable model_path. Para ver un ejemplo, consulte
Lambda de inferencia en " (p.
Para artefactos de modelos MXNet, el optimizador de modelos puede convertir archivos .json y
.params. Para artefactos de modelos Caffe, el optimizador de modelos puede tomar archivos .prototxt
y .caffemodel. Para artefactos de modelos TensorFlow, el optimizador de modelos espera un archivo de
gráfico congelado (.pb).
Para obtener más información acerca del optimizador de modelos, consulte
optimización del modelo (p.
Crear y publicar una función Lambda de inferencia en
AWS DeepLens
En este tema se explica cómo agregar una función de inferencia de AWS Lambda al proyecto AWS
DeepLens personalizado. La inferencia es el paso donde el modelo se muestra imágenes que nunca
ha visto antes y se le pide hacer una predicción. La función de inferencia optimiza el modelo para que
se ejecute en AWS DeepLens y alimenta cada fotograma de la cámara en el modelo para obtener
predicciones. Para la función de inferencia, se utiliza
implementa en AWS DeepLens. La función de inferencia se ejecuta localmente en el dispositivo AWS
DeepLens sobre cada fotograma que sale de la cámara.
AWS DeepLensadmite funciones de inferencia Lambda escritas en Python 2.7 y Python 3.7. Python
3.7 requiere software de dispositivo v1.4.5. Escribirá la función Lambda en el navegador y luego la
implementará para que se ejecute enAWS DeepLens.
Para crear y publicar una función Lambda de inferencia para su proyecto de AWS DeepLens
1.
Descargue la
plantilla de función de inferencia AWS DeepLens
archivo descargado.
El archivo zip contiene lo siguiente:
• lambda_function.pyEste archivo contiene la función de Lambda.AWS DeepLensejecutará este
archivo después de que suAWS DeepLensse ha desplegado.
• local_display.py— este archivo contiene una clase auxiliar para escribir los fotogramas
modificados desde la cámara en la secuencia de vídeo del proyecto.
AWS DeepLens Guía para desarrolladores
Optimizar un modelo personalizado
86).
147).
86
mo.optimize (p. 147)
the section called "Crear y publicar una función
Módulo (mo) para la
AWS Lambda
para crear una función que se
en su ordenador. No descomprima el
tal y como se