A free MLOps course to learn how to apply ML to build a production grade product to deliver value.
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 | Data stack |
π Modeling | β Testing | Orchestration |
Baselines | Code | Feature store |
Evaluation | Data | Systems design |
Experiment tracking | Models | |
Optimization |
π More content coming soon!
Subscribe for our monthly updates on new content.
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 etl-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