Skip to content

A project-based course on the foundations of MLOps to responsibly develop, deploy and maintain ML.

Notifications You must be signed in to change notification settings

shreshthsaini/mlops-course

 
 

Repository files navigation

MLOps Course

Learn how to combine machine learning with software engineering to build production-grade applications.

MLOps concepts are interweaved and cannot be run in isolation, so be sure to complement the code in this repository with the detailed MLOps lessons.

     
🎨  Design 💻  Developing  ♻️  Reproducibility
Product Packaging Git
Engineering Organization Pre-commit
Project Logging Versioning
🔢  Data Documentation Docker
Exploration Styling 🚀  Production
Labeling Makefile Dashboard
Preprocessing 📦  Serving CI/CD
Splitting Command-line Monitoring
Augmentation RESTful API Systems design
📈  Modeling ✅  Testing ⎈  Data engineering
 Baselines Code Data stack
Evaluation Data Orchestration
Experiment tracking Models Feature store
Optimization    

Virtual environment

python3 -m venv venv
source venv/bin/activate
python3 -m pip install --upgrade pip setuptools wheel
python3 -m pip install -e ".[dev]"
pre-commit install
pre-commit autoupdate

If the commands above do not work, please refer to the packaging lesson. We highly recommend using Python version 3.7.13.

Directory

tagifai/
├── data.py       - data processing utilities
├── evaluate.py   - evaluation components
├── main.py       - training/optimization operations
├── predict.py    - inference utilities
├── train.py      - training utilities
└── utils.py      - supplementary utilities

Workflow

python tagifai/main.py elt-data
python tagifai/main.py optimize --args-fp="config/args.json" --study-name="optimization" --num-trials=10
python tagifai/main.py train-model --args-fp="config/args.json" --experiment-name="baselines" --run-name="sgd"
python tagifai/main.py predict-tag --text="Transfer learning with transformers for text classification."

API

uvicorn app.api:app --host 0.0.0.0 --port 8000 --reload --reload-dir tagifai --reload-dir app  # dev
gunicorn -c app/gunicorn.py -k uvicorn.workers.UvicornWorker app.api:app  # prod

To cite this content, please use:
@misc{madewithml,
    author       = {Goku Mohandas},
    title        = {MLOps Course - Made With ML},
    howpublished = {\url{https://madewithml.com/}},
    year         = {2022}
}

About

A project-based course on the foundations of MLOps to responsibly develop, deploy and maintain ML.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 98.1%
  • Python 1.9%