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 |
While all the lessons above are 100% free, it's hard to learn everything on your own. That's why we're offering an interactive course with the structure and community to actually complete and master these lessons. More details 👉 here.
We highly recommend going through the lessons one at a time and building the code base as we progress. For every concept, we focus on the fundamentals and then dive into the code, at which point we can refer to this repository as a guide.
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}
}