Skip to content

Learn how to design, develop, deploy and maintain an end-to-end ML application at scale.

Notifications You must be signed in to change notification settings

cerkut/mlops-course

 
 

Repository files navigation

MLOps Course

Learn how to combine machine learning with software engineering to develop, deploy and maintain production ML 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.9.1.

Directory

tagifai/
├── data.py       - data processing components
├── evaluate.py   - evaluation components
├── main.py       - training/optimization operations
├── predict.py    - inference components
├── train.py      - training components
└── 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

Learn how to design, develop, deploy and maintain an end-to-end ML application at scale.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Jupyter Notebook 97.5%
  • Python 2.5%