A course with accompanying code that teaches developers how to design, develop, deploy, and iterate on production-grade machine learning applications. It combines machine learning concepts with software engineering practices to help developers build reliable systems.
Project overview
It develops a first-principles understanding of machine learning concepts before writing code, bridging the gap between software engineering and production ML practices.
Project type
Data Processing
Deployment
Refer to project documentation
License
MIT
Best for
Developers, data teams, and educators seeking a tutorial that teaches machine learning workloads combined with software engineering practices.
Key capabilities
Provides lessons and code for learning to design, develop, deploy, and iterate on production-grade ML applications.
Includes a Jupyter notebook for interactively walking through core machine learning workloads.
Provides Python script examples for data, training, tuning, evaluation, prediction, and serving workflows following software engineering practices.
Documents using MLflow to track experiments, store models, and view experiments through its tracking UI.
Documents starting a Ray-based application and sending prediction requests to a local HTTP endpoint.
Limitations and risks
The course can run on a personal laptop, but workloads will be slower than on a larger cluster. A GPU is optional.
Getting started
Setup involves cloning the repository, creating and activating a Python virtual environment, installing the repository requirements, and opening the supplied Jupyter notebook or running the Python scripts. Coding is required for this workflow.