mlops

Experiment tracking and model registry workflows with MLflow

If experiments matter, they should be searchable after the notebook is closed. MLflow gives me parameter tracking, metric history, artifact storage, and a lightweight model registry without much ceremony. It is one of the fastest ways to make a small

Serving scikit-learn models behind a FastAPI prediction API

Deployment should not rewrite the feature logic from scratch. I expose trained pipelines behind FastAPI so the exact preprocessing and estimator objects travel together. Strong request schemas and explicit model versioning keep this boring in the righ

Serializing models with joblib, pickle, and ONNX tradeoffs

Model serialization is not just a file-format choice. It affects startup time, compatibility, portability, and security boundaries. I use joblib for common scikit-learn pipelines, reserve pickle for trusted internal workflows, and reach for ONNX when

Great Expectations checks for dataset health before retraining

Before retraining, I want hard guarantees that the data feed still looks structurally sane. Great Expectations gives teams a shared validation language that analysts, ML engineers, and data engineers can all inspect. I use it to codify invariants that