pbnewron / mlops-course

A project-based course on the foundations of MLOps with a focus on intuition and application.

Home Page:https://madewithml.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

     
🎨  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    

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  πŸ‘‰  here.

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}
}

About

A project-based course on the foundations of MLOps with a focus on intuition and application.

https://madewithml.com

License:MIT License


Languages

Language:Jupyter Notebook 97.4%Language:Python 2.5%Language:Makefile 0.0%Language:Dockerfile 0.0%Language:CSS 0.0%