An end-to-end MLOps pipeline showcasing model training, versioning with MLFlow, CI/CD deployment to Google Cloud Run, and interactive 3D visualization of CNN activations.
Instructions: Draw a digit and click "Predict!" to query the deployed model endpoint. The API returns predictions and layer activations, visualized in real-time 3D (use mouse to rotate/zoom).
MLOps in practice:
A CNN trained in TensorFlow/Keras logs its hyperparameters, metrics and the model
artifact itself to the same shared MLflow server used by my other projects. The API
never ships a bundled model file — it pulls whatever version is currently aliased
champion in the Model Registry at startup.
FastAPI service on Cloud Run. Each request goes through staged error handling —
decode, preprocess, predict, extract activations — so a failure in one stage (say,
activation extraction) degrades gracefully instead of losing the prediction. A
/health endpoint reports whether the model actually loaded.
GitHub Actions builds a Docker image on every push to main, pushes it to Artifact Registry, and deploys straight to Cloud Run — no manual deploy step between committing code and it being live.
MLOps Pipeline Overview:
This project demonstrates a complete MLOps workflow: the model is trained on MNIST data, versioned in MLFlow Model Registry, and deployed to Google Cloud Run as a containerized FastAPI service. When you draw a digit, the request flows through the interactive canvas to the production endpoint, which returns predictions and internal layer activations for real-time 3D visualization.