DevOps for Deep Learning
I developed an application that performs clothing classification and manual labeling using Google Cloud Platform (GCP). I wrote this application using the Flask framework and containerized it using Docker. Docker allowed me to provide a portable and consistent working environment with all the application’s dependencies. After creating the container, I deployed it in the cloud using GCP's Cloud Run service. Cloud Run can automatically scale and manage my application, ensuring resource consumption is based solely on incoming demand. With this approach, I quickly migrated my application to the cloud, achieving a high-performance and scalable solution. Additionally, considering the traffic during the demo phase of the site, Cloud Run presented itself as a preferable option. After the model analyzed the images uploaded to the site and produced outputs, I saved the results to the database using BigQuery, thus preserving the classification results.
Image upload area:
Clothing classification results of the uploaded image and the tagging interface for whether it is correct or incorrect:
The section where the records of uploaded images are shown:
Files required for deployment:
Dockerfile is for creating the docker container of our project on the local computer.
Cloudbuild.yaml is for providing the necessary configuration for this container for the GCP environment.
Cloudbuild.yaml: