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.
- Lessons: https://madewithml.com/#mlops
- Code: GokuMohandas/mlops-course
Product | Packaging | Git |
Engineering | Organization | Pre-commit |
Project | Logging | Versioning |
Documentation | Docker | |
Exploration | Styling | |
Labeling | Makefile | Dashboard |
Preprocessing | CI/CD | |
Splitting | Command-line | Monitoring |
Augmentation | RESTful API | Systems design |
β Data engineering | ||
Baselines | Code | Data stack |
Evaluation | Data | Orchestration |
Experiment tracking | Models | Feature store |
Optimization |
Interactive MLOps course
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
Instructions
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.
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}
}