Exponer Modelo de clasificación Mediante Tensorflow y FastAPI

Etapas

  1. Entrenar Modelo Deep Learning.

1. Entrenar Modelo.

2. Exportar Modelo.

3. Exponer servicio por medio de FastAPI.

|App
|___ |uploads
| |_____ Images
|
|___ main.py
|___ model.py
|
|requirements.txt
  • En la carpeta App tendremos una sub carpeta denominada uploads, en la cual se van a guardar todas las imágenes que los usuarios le pasen al modelo, de esta manera tendremos un control sobre cuantas imágenes diferentes le han pasado al modelo.
  • El archivo model.py tendrá la ruta donde se encuentra guardado nuestro modelo en formato .H5
  • El archivo main.py expondrá el aplicativo vía POST para hacer la predicción.
  • Las dependencias se encuentran en el archivo requirements.txt
  • UPLOAD_FOLDER = Guardar la ruta de la capeta en la que se guardaran las imágenes cargadas por el usuario.
  • CLASSES = Son las clases de etiquetas que se desean predecir, se cuenta con 5 clases.
  • ALLOWED_EXTENSIONS = El usuario solo podrá cargar imágenes en el formato dado, si desea puede agregar otro formato a la lista.
uvicorn app.main:app --reload

Recomendaciones.

  • El servicio no se expuso para hacer predicciones por lotes, es decir, que si recibimos más de una cantidad de imágenes el servicio se va a demorar, esto se debe a que debe pasar por cada imagen y hacer la predicción una por una y no por lotes o en paralelo, es un problema cuando queremos predecir muchas imágenes.
  • Para mejorar el rendimiento, puede desplegar este mismo procedimiento en una máquina virtual, de esta manera será rápido y podrá disponer de más recursos.

¿Está listo para ir más lejos? 🚀

--

--

Data Scientist www.sergiorubiano.com

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store