AWS DeepLens Guía para desarrolladores
# Head-pose dataset "HeadPoseData_trn_test_x15_py2.pkl" is in the following S3
folder.
dataset_location = 's3://{}/{}/datasets'.format(s3_bucket, headpose_folder)
estimator.fit(dataset_location)
Para crear el objeto estimator, se asigna a entry_point el nombre del archivo Python
que contiene
el script de entrenamiento del modelo personalizado de
tutorial, este archivo de código personalizado es resnet_headpose.py, que se cargó en el
mismo directorio donde se encuentra la instancia de bloc de notas. En framework_version,
especifique una versión de TensorFlow compatible con AWS DeepLens.
Con la train_instance_type de ml.p2.xlarge, se tarda en torno a 6,7 horas de cómputo
facturables en completar el trabajo de entrenamiento (estimator.fit(...)). Puede experimentar
con
otras train_instance_type opciones
El artefacto del modelo entrenado correctamente (model.tar.gz) se muestra en el bucket de S3:
s3://deeplens-sagemaker-models-<my-name>/headpose/TFartifacts/<training-job-name>/
output/model.tar.gz
donde
<training-job-name>
de entrenamiento anterior, un ejemplo de <training-job-name> sería deeplens-TF-
headpose-2018-08-16-20-10-09-991. Debe transformar este artefacto de modelo a un
formato protobuff congelado compatible con AWS DeepLens.
c.
Para transformar el artefacto del modelo entrenado (model.tar.gz) en un archivo protobuff
congelado (frozen.model.pb), haga lo siguiente:
i.
Ejecute el siguiente código para utilizar el AWS SDK para Python (boto3) en una celda de
código en el bloc de notas para descargar el artefacto del modelo entrenado desde su bucket
de S3 a su bloc de notas:
import boto3
s3 = boto3.resource('s3')
#key = '{}/{}/{}/output/model.tar.gz'.format(headpose_folder,
model_artifacts_folder,estimator.latest_training_job.name)
key = '{}/{}/{}/output/model.tar.gz'.format(headpose_folder,
model_artifacts_folder, 'deeplens-TF-headpose-2018-08-16-20-10-09-991')
print(key)
s3.Bucket(s3_bucket).download_file(key,'model.tar.gz')
Puede verificar los archivos descargados ejecutando el siguiente comando de shell en una
celda de código del bloc de notas y, a continuación, examinar los datos de salida.
Crear y ejecutar el proyecto de
detección de posición de cabeza
framework_version = 1.4,
source_dir=source_dir,
role=role,
training_steps=25000, evaluation_steps=700,
train_instance_count=1,
base_job_name='deeplens-TF-headpose',
output_path=model_artifacts_location,
code_location=custom_code_upload_location,
train_instance_type='ml.p2.xlarge',
train_max_run = 432000,
train_volume_size=100)
para acelerar el proceso o para optimizar el costo.
es de <base_job_name>-<timestamp>. Utilizando el código
101
TensorFlow. En este