Skip to content

BernRM/mlops-pipeline

Repository files navigation

MLOps Pipeline

Complete MLOps pipeline from scratch — rock classification model training, experiment tracking, REST API, containerization, and production deployment with data drift monitoring.

Project Structure

mlops-pipeline/
├── data/
│   ├── raw/            # Raw data (versioned with DVC)
│   └── processed/      # Processed data
├── notebooks/          # Exploration and prototyping
├── src/
│   ├── train/          # Model training scripts
│   ├── api/            # FastAPI application
│   └── monitoring/     # Data drift monitoring
├── models/             # MLflow model artifacts
├── tests/              # Unit and integration tests
└── .github/workflows/  # CI/CD pipelines

Stack

  • Python 3.11, scikit-learn, MLflow, FastAPI, Docker, GitHub Actions, Railway, Evidently

How to Run Locally

1. Install dependencies

pip install -r requirements.txt

2. Configure environment variables

cp .env.example .env
# Edit .env with your settings

3. Train the model

# TODO

4. Start the API

uvicorn src.api.main:app --reload

5. Run tests

pytest tests/ -v

6. Run with Docker

# TODO

About

MLOps pipeline from scratch — MLflow + FastAPI + Docker + GitHub Actions + drift monitoring. From notebook to production.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors