Introducción
TensorFlow es una biblioteca de código abierto para el aprendizaje automático desarrollada por Google. Google Cloud Platform (GCP) ofrece una serie de servicios que facilitan la implementación y el escalado de modelos de TensorFlow. En este módulo, aprenderás cómo utilizar TensorFlow en GCP para construir, entrenar y desplegar modelos de aprendizaje automático.
Objetivos del Módulo
- Comprender qué es TensorFlow y sus aplicaciones.
- Configurar un entorno de TensorFlow en GCP.
- Entrenar un modelo de TensorFlow utilizando AI Platform.
- Desplegar un modelo de TensorFlow en GCP.
Contenido
- ¿Qué es TensorFlow?
TensorFlow es una biblioteca de software de código abierto para el aprendizaje automático y la inteligencia artificial. Permite a los desarrolladores crear y entrenar modelos de aprendizaje profundo y otros algoritmos de aprendizaje automático.
Características clave de TensorFlow:
- Flexibilidad: Permite la construcción de modelos personalizados.
- Escalabilidad: Puede ser utilizado en dispositivos móviles hasta en grandes clústeres de servidores.
- Compatibilidad: Funciona con múltiples lenguajes de programación como Python, C++, y JavaScript.
- Configuración del Entorno de TensorFlow en GCP
Para comenzar a usar TensorFlow en GCP, primero necesitas configurar tu entorno. Aquí están los pasos básicos:
Paso 1: Crear un Proyecto en GCP
- Ve a la Consola de Google Cloud.
- Haz clic en el menú desplegable de proyectos y selecciona "Nuevo Proyecto".
- Asigna un nombre a tu proyecto y haz clic en "Crear".
Paso 2: Habilitar las APIs necesarias
- En la consola de GCP, ve a "APIs y servicios" > "Biblioteca".
- Habilita las siguientes APIs:
- AI Platform Training & Prediction API
- Compute Engine API
- Cloud Storage API
Paso 3: Configurar el SDK de Google Cloud
- Descarga e instala el SDK de Google Cloud.
- Abre una terminal y autentícate con tu cuenta de Google:
gcloud auth login
- Configura el SDK para usar tu proyecto:
gcloud config set project [YOUR_PROJECT_ID]
- Entrenamiento de un Modelo de TensorFlow en AI Platform
AI Platform facilita el entrenamiento de modelos de TensorFlow en GCP. Aquí hay un ejemplo básico de cómo entrenar un modelo.
Paso 1: Preparar el Código de Entrenamiento
Crea un archivo trainer/task.py
con el siguiente contenido:
import tensorflow as tf from tensorflow.keras import layers, models def train_model(): # Cargar datos de ejemplo (MNIST) (train_images, train_labels), (test_images, test_labels) = tf.keras.datasets.mnist.load_data() train_images, test_images = train_images / 255.0, test_images / 255.0 # Definir el modelo model = models.Sequential([ layers.Flatten(input_shape=(28, 28)), layers.Dense(128, activation='relu'), layers.Dense(10, activation='softmax') ]) # Compilar el modelo model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy']) # Entrenar el modelo model.fit(train_images, train_labels, epochs=5) # Evaluar el modelo test_loss, test_acc = model.evaluate(test_images, test_labels) print(f'Test accuracy: {test_acc}') if __name__ == '__main__': train_model()
Paso 2: Subir el Código a Cloud Storage
- Crea un bucket en Cloud Storage:
gsutil mb gs://[YOUR_BUCKET_NAME]
- Sube el código de entrenamiento:
gsutil cp -r trainer gs://[YOUR_BUCKET_NAME]/trainer
Paso 3: Iniciar el Trabajo de Entrenamiento
- Ejecuta el siguiente comando para iniciar el trabajo de entrenamiento en AI Platform:
gcloud ai-platform jobs submit training [JOB_NAME]
--module-name=trainer.task
--package-path=trainer/
--region=us-central1
--python-version=3.7
--runtime-version=2.3
--job-dir=gs://[YOUR_BUCKET_NAME]/jobs/[JOB_NAME]
- Despliegue de un Modelo de TensorFlow en GCP
Una vez que el modelo está entrenado, puedes desplegarlo para hacer predicciones.
Paso 1: Guardar el Modelo
Modifica el código de entrenamiento para guardar el modelo:
Paso 2: Crear un Modelo en AI Platform
- Crea un modelo en AI Platform:
gcloud ai-platform models create mnist_model
Paso 3: Crear una Versión del Modelo
- Crea una versión del modelo:
gcloud ai-platform versions create v1
--model=mnist_model
--origin=gs://[YOUR_BUCKET_NAME]/models/mnist_model
--runtime-version=2.3
--python-version=3.7
Paso 4: Hacer Predicciones
- Usa el siguiente comando para hacer predicciones:
gcloud ai-platform predict
--model=mnist_model
--version=v1
--json-instances=instances.json
Ejercicio Práctico
Ejercicio: Entrena y despliega un modelo de TensorFlow en GCP utilizando un conjunto de datos diferente, como CIFAR-10.
Solución:
- Modifica el código de entrenamiento para usar CIFAR-10.
- Sigue los pasos para subir el código, entrenar el modelo y desplegarlo.
Conclusión
En este módulo, aprendiste cómo configurar un entorno de TensorFlow en GCP, entrenar un modelo utilizando AI Platform y desplegar el modelo para hacer predicciones. Estos conocimientos te permitirán aprovechar la potencia de GCP para tus proyectos de aprendizaje automático.
Próximos Pasos:
- Explora más sobre la optimización de modelos en TensorFlow.
- Aprende a utilizar otras herramientas de GCP para el aprendizaje automático, como AutoML y BigQuery ML.
Curso de Google Cloud Platform (GCP)
Módulo 1: Introducción a Google Cloud Platform
- ¿Qué es Google Cloud Platform?
- Configuración de tu cuenta de GCP
- Descripción general de la consola de GCP
- Comprensión de proyectos y facturación
Módulo 2: Servicios principales de GCP
Módulo 3: Redes y seguridad
Módulo 4: Datos y análisis
Módulo 5: Aprendizaje automático e IA
Módulo 6: DevOps y monitoreo
- Cloud Build
- Repositorios de código en la nube
- Cloud Functions
- Monitoreo de Stackdriver
- Cloud Deployment Manager
Módulo 7: Temas avanzados de GCP
- Híbrido y multi-nube con Anthos
- Computación sin servidor con Cloud Run
- Redes avanzadas
- Mejores prácticas de seguridad
- Gestión y optimización de costos