JhennerTigreros / zero_to_production

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Open In Colab

Nota: Este repositorio hace parte de la charla dada en el grupo de Tensorflow Colombia en su sesion numero cuatro, puedes ver el fragmento aqui

Configuración

Primeramente descargaremos la herramienta de linea de comandos para el manejo de recursos la manera más facil de instalar esta herramienta es seguir el tutorial oficial de Google Cloud click aqui

Creación de proyecto de GCP

Seguidamente debemos crear un proyecto en GCP para poder crear los recursos necesarios para desplegar nuestro modelo, para realizar esto debemos seguir la guia oficial de Google Cloud para crear proyectos click aqui. La manera más sencilla es con la herramienta de la linea de comandos ejecutando el comando:

gcloud projects create <PROJECT_NAME>

Creación de bucket de almacenamiento

Para crear recursos de GCP mediante la interfaz de linea de comandos debemos instalar la herramienta gsutil, para esto es recomendable seguir el tutorial oficial de Google cloud click aqui. La manera de crear un bucket de almacenamiento debemos ejecutar el comando:

gsutil mb gs://<MODEL_ROOT_DIR

Creación del modelo en AI Platform

Para desplegar nuestra versión de modelo entrenado, primero debemos crear un modelo en AI Platform, para esto tenemos dos opciones para la creación del modelo, una es la interfaz grafica y la otra es la interfaz de linea de comandos. Para crear un modelo nuevo debemos ejecutar el comando en la interfaz de linea de comandos, ejecutando el comando:

gcloud ai-platform models create tf_meetup --regions=us-central1

Esto creara nuestro modelo en AI Platform.

Despliegue

Para desplegar nuestra versión del modelo de DL entrenado y guardado en el formato SavedModel, y ya con el modelo creado en AI Platform, para esto debemos primeramente subir nuestor modelo a GCP en un bucket de almacenamiento, ejecutando el siguiente comando:

gsutil cp -r flowers/1 gs://<MODEL_DIR>

Con el modelo entrenado ya en GCS (Google Cloud Storage), procederemos a desplegar una versión dentro de nuestro modelo, esto para realizar las pruebas y poder utilizar nuestro modelo en diferentes formas, tanto API, librerías de lenguaje de programación o la interfaz de linea de comandos de GCP, para desplegar una nueva versión de nuestro modelo ejecutaremos el siguiente comando:

gcloud ai-platform versions create v1 --model=<MODEL_NAME> --accelerator=count=1,type=nvidia-tesla-t4 --framework=tensorflow --machine-type=n1-standard-4 --origin=gs://<MODEL_DIR> --python-version=3.7 --runtime-version=2.2

Probar Modelo

Para probar el modelo entrenado y desplegado en AI platform utilizaremos el script en main.py, a este debemos proveerle de ciertos argumentos obligatorios los cuales son

  • project-id: Es el identificador de nuestro proyecto en GCP, lo podemos observar en la barra de selección de proyectos en GCP o el que le hayamos asignado en la sección de configuración.
  • img-path: Es la ruta del archivo de prueba que utilizaremos para probar nuestro modelo.
  • region: Es la region donde se encuentra desplegado nuestro modelo de Deep Learning en GCP.
  • model: Es el nombre del modelo desplegado en AI platform.
  • version: Es el nombre de la versión desplegada, por defecto se sirve la versión por defecto.
  • class-names: Los nombres de las clases de las cuales queremos realizar las predicciones.

Para ejecutar el script sería algo así:

python main_google.py --project-id <PROJECT_ID> --img-path ./img/prueba.jpg --model <MODEL_NAME> --version v1 --class-names daisy dandelion roses sunflowers tulips --region us-central1

python main_k8s.py --img-path ./img/prueba.jpg --model flowers --version 1 --class-names daisy dandelion roses sunflowers tulips

About


Languages

Language:Jupyter Notebook 94.8%Language:Python 5.0%Language:Dockerfile 0.2%