Link to our blog post https://www.data-max.io/post/dog-breed-classification.
There are two ways you can run this project:
- Docker
- Kubernetes
git clone https://github.com/data-max-hq/dog-breed-classification-ml.git
- Docker
- Docker Compose
- Open the project directory in terminal and type
make requirements
- Train the model (only once)
make local-train
- Deploy model using:
- TensorFlow Serving
make compose-tfserve
- Seldon Serving
make compose-seldon
-
Open Streamlit UI at http://localhost:8502. Enjoy predicting 🪄
-
Stop docker containers
docker compose down
- Docker
- Helm
- Helmfile
- Minikube
- Deploy model using:
- TensorFlow Serving
- Create a kubernetes cluster (minikube)
make start-tfserve
- Build images
make build-tfserve
- Load images to minikube
make load-tfserve
- Install Kubeflow
make install-kubeflow #Wait till all pods of kubeflow are running
- Expose Kubeflow port so you can access Kubeflow dashboard at http://localhost:8080 (optional)
make port-kubeflow
- Deploy TensorFlow Serving, Ambassador and Streamlit
make helm-tfserve
- Apply mapping resources
make deploy-tfserve
- Expose Emissary-ingress port
make port-emissary
- Create a kubernetes cluster (minikube)
- Seldon Serving
- Create a kubernetes cluster (minikube)
make start-seldon
- Build images
make build-seldon
- Load images to minikube
make load-seldon
- Install Kubeflow
make install-kubeflow #Wait till all pods of kubeflow are running
- Expose Kubeflow port so you can access Kubeflow dashboard at http://localhost:8080 (optional)
make port-kubeflow
- Deploy Seldon-Core, Ambassador and Streamlit
make helm-seldon
- Deploy Seldon application and apply mapping resources
make deploy-seldon
- Expose Emissary-ingress port
make port
- Open Streamlit UI at http://localhost:8080/streamlit. Enjoy predicting 🪄
- Delete cluster
make delete