Traté de hacerlo con la nube de Azure, pero al momento de hacer la petición al servidor no me se cerraba la conexión por los tiempos de respuesta.
Así que decidí subirlo a HuggingFace Aquí dejo el enlace al space
Buenos dias, estoy trabajando de manera local y ya me encuentro en la fase de generar el docker con mi modelo. Al momento de generar la imagen docker con todas las herramientas que use para la inferencia, me genera conflictos entre versiones. Que imagen utiliza como base para generar la del modelo?.
Hola Ernesto, excelente pregunta.
Te recomendaría como base la imagen oficial de TensorFlow aquí
Sin embargo, sería bueno si nos compartes el error de incompatibilidad que te sale, y así actualizamos el pip requirements por si alguien más tiene el mismo error.
Saludos
la moto sigue sin reconocer, lastima
te recomiendo que pruebes con otros videos donde una moto esté más cerca o con otras imágenes de motos.
Para el curso, la cantidad de imagenes es muy pequeno pero suficiente para entender como se realiza el proceso, y el data augmentation a veces no es suficiente. Para obtener mejores resultados te recomiendo equilibrar el dataset agregando mas imagenes de motos. En mi caso, ya habia hecho este proceso pero no estoy certificado, por eso estoy aqui. Para mi caso de uso en produccion era el conteo de aguacates, fue un proceso agotador pues yo etiquete las imagenes sin mas herramientas que paint para saber en que pixel estaba mi mouse jajajaja. Pero teniendo alrededor de 500 instancias de aguacates funciono muy bien. Aun asi, pese a que dio buenos resultados, 500 es muy poco realmente, por lo cual 130 para dos clases no es suficiente, pero como dije, para finalidades de entender como se hace este proceso si es suficiente.
Buenas noches, el curso de Postman no lo veo disponible, lo quitaron?
Rafel, puedes mirar la clase del profe Nicolas, utiliza Insomnia y Postman.
Para desplegar un modelo en producción y consumirlo, necesitas configurar un entorno donde el modelo esté accesible, por ejemplo, a través de un endpoint de API. En plataformas como Google Cloud Platform (GCP), AWS o Azure, puedes automatizar estos pasos. Aquí te explico cómo hacerlo en Google Cloud Platform utilizando **Vertex AI** para desplegar el modelo y acceder a él en producción.
### Paso 1: **Subir y Preparar el Modelo**
Primero, debes tener el modelo entrenado y listo para ser desplegado. Sube el modelo a Google Cloud Storage (GCS) si aún no lo has hecho.
\# Comando para subir el modelo a GCS
gsutil cp model.joblib gs://\[YOUR\_BUCKET\_NAME]/models/model.joblib
### Paso 2: **Desplegar el Modelo en Vertex AI**
Usaremos **Vertex AI** para crear un endpoint de API donde estará alojado el modelo, permitiendo el consumo de predicciones en tiempo real.
#### a. **Iniciar Vertex AI y Configurar el Proyecto**
Asegúrate de haber configurado Vertex AI para tu proyecto:
from google.cloud import aiplatform
\# Inicializar el entorno de Vertex AI
aiplatform.init(project="my-project", location="us-central1")
#### b. **Crear y Desplegar el Modelo en Vertex AI**
Crea una instancia del modelo en Vertex AI, especificando el URI del modelo en GCS. Esto creará un recurso en Vertex AI que se podrá consumir mediante un endpoint.
\# Crear el modelo desde un archivo en GCS
model = aiplatform.Model.upload(  display\_name="my\_model\_name",  artifact\_uri="gs://\[YOUR\_BUCKET\_NAME]/models/",  serving\_container\_image\_uri="us-docker.pkg.dev/vertex-ai/prediction/sklearn-cpu.0-24:latest" # Imagen compatible con Scikit-Learn)
#### c. **Desplegar el Modelo en un Endpoint**
Desplega el modelo en un endpoint de Vertex AI para que esté accesible en producción.
endpoint = model.deploy(  machine\_type="n1-standard-4", # Especifica el tipo de máquina según tus necesidades  deployed\_model\_display\_name="my\_deployed\_model",)print("Endpoint ID:", endpoint.name)
### Paso 3: **Consumir el Modelo en Producción**
Ahora que el modelo está desplegado, puedes enviar solicitudes al endpoint para obtener predicciones. A continuación, muestro cómo hacer una solicitud de predicción con Python.
#### a. **Preparar los Datos de Entrada**
Asegúrate de que los datos estén en el formato que el modelo espera (por ejemplo, una lista de listas o un JSON estructurado).
\# Datos de entrada de ejemplo
instances = \[  \[5.1, 3.5, 1.4, 0.2], # Reemplaza con tus valores reales  \[6.2, 3.4, 5.4, 2.3],]
#### b. **Hacer una Solicitud de Predicción**
Con la instancia de endpoint, realiza una predicción enviando los datos de entrada.
### Paso 4: **Acceso al Modelo desde una API REST (Opcional)**
Si quieres consumir el modelo desde otra aplicación, como una API REST, puedes utilizar el ID del endpoint y la **API de Vertex AI** para interactuar con el modelo desde un entorno externo.
1. **Obtener el Token de Autenticación**:
En la mayoría de los casos, necesitarás un token de autenticación para la API de Google Cloud.
Una vez que el modelo está en producción, es importante monitorearlo para evaluar su rendimiento y realizar ajustes si es necesario:
- **Configura alertas y logs**: GCP te permite monitorear el uso del endpoint y los errores en **Cloud Monitoring** y **Cloud Logging**.
- **Realiza pruebas continuas**: Implementa pruebas para asegurar que el modelo se mantenga preciso con datos nuevos o diferentes.
- **Configura la reentrenamiento automático**: Si el rendimiento decae, configura una pipeline en **Vertex AI Pipelines** para reentrenar el modelo automáticamente con nuevos datos.
Este flujo cubre los pasos básicos para desplegar y consumir un modelo en producción utilizando Google Cloud Platform. Además, puedes extender estos pasos para automatizar el mantenimiento y la actualización del modelo mediante herramientas de MLOps.
no entendí para que creó funcione en un jupyter, si para lo único que lo utiliza es para crear el DockerFile y el requirements.txt
No pude Dokerizar "-bash: docker: command not found"