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.
- Lessons: https://madewithml.com/#mlops
- Code: GokuMohandas/mlops-course
π¨ 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 |
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
.
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
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."
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}
}