Guide · Open source
How to use Made With ML: setup, notebooks and scripts
Updated · written with AI from the project's own documentation and checked against our catalogue data
Made With ML is an open-source course, delivered as a GitHub repository of Jupyter notebooks and Python scripts, that walks through taking a machine learning model from experimentation to production. This guide shows you how to clone the repository, set up a local Python environment, and find your way around the notebook and the scripts. By the end you will know where the course material lives and how to run it on your own machine.
Quick start
- 1Clone the repository. Run git clone on the Made-With-ML repository into your working directory.
- 2Create a virtual environment. Create venv with Python 3.10 and activate it, following the README commands for your OS.
- 3Install dependencies. Upgrade pip, setuptools and wheel, then install requirements.txt.
- 4Install pre-commit hooks. Run pre-commit install and pre-commit autoupdate from the repository root.
- 5Set your username. Create .env, set GITHUB_USERNAME, and load it with source .env.
- 6Open the notebook. Run jupyter lab notebooks/madewithml.ipynb and work through the core ML workloads.
- 7Review the scripts. Read the madewithml package scripts and adjust worker and compute arguments for your hardware.
What the course covers
The course goes from experimentation (design and development) to production (deployment and iteration). It is built around software engineering practices such as testing, logging and serving, and it introduces each machine learning concept from first principles before writing code.
The README also lists CI/CD, MLOps components such as tracking, testing, serving and orchestration, and the goal of moving from development to production without changing code or infrastructure.
- Design, develop, deploy and iterate on ML applications
- Software engineering practices: testing, documentation, logging, serving and versioning
- Modular CI/CD workflows for training and deploying models
Check the prerequisites before you start
The course assumes working knowledge of Python and ML concepts. The README recommends Python 3.10, and you will need Git and Jupyter.
The code is meant to run on a personal laptop or on Anyscale clusters. Laptop runs work but are slower than runs on a larger cluster.
- Python 3.10 (recommended by the README)
- Git
- Jupyter
Clone the repository and set up a local environment
Clone the repository into your working directory. Then create and activate a virtual environment, upgrade pip, install the dependencies from requirements.txt, and install the pre-commit hooks. The README uses venv\Scripts\activate on Windows.
If you use pyenv (macOS) or pyenv-win (Windows), the README highly recommends Python 3.10 for this course.
- Clone the repo, then create the virtual environment with Python 3.10
- Install the packages from requirements.txt
- Run pre-commit install to set up the hooks
git clone https://github.com/GokuMohandas/Made-With-ML.git .
export PYTHONPATH=$PYTHONPATH:$PWD
python3 -m venv venv # recommend using Python 3.10
source venv/bin/activate # on Windows: venv\Scripts\activate
python3 -m pip install --upgrade pip setuptools wheel
python3 -m pip install -r requirements.txt
pre-commit install
pre-commit autoupdateSet your GitHub username in .env
The README asks you to create a .env file and set your GitHub username inside it, then load it into your shell. Replace the placeholder value with your own username before sourcing the file.
- Create .env in the repository root
- Set GITHUB_USERNAME to your username
- Load it with source .env
touch .env
# Inside .env
GITHUB_USERNAME="CHANGE_THIS_TO_YOUR_USERNAME"
source .envRun the notebook first
Start with the notebook at notebooks/madewithml.ipynb. It walks through the core machine learning workloads interactively. Open it in JupyterLab from the repository root.
On Anyscale, open JupyterLab from the Jupyter icon on the Workspace page and navigate to the notebooks directory.
- Open the notebook in JupyterLab
- Work through the core ML workloads cell by cell
jupyter lab notebooks/madewithml.ipynbMove from notebook to scripts
The notebook's workloads are refactored into Python scripts in the madewithml package. The README lists the files: config, data, evaluate, models, predict, serve, train, tune and utils. These scripts add the engineering practices that the notebook only introduces.
The README notes that you should change the --num-workers, --cpu-per-worker and --gpu-per-worker input arguments to match your hardware. The text is cut off at that point in the source, so check the course lessons for the exact commands.
- config.py, data.py, evaluate.py, models.py, predict.py
- serve.py, train.py, tune.py, utils.py
- Adjust worker and CPU/GPU arguments to your machine
madewithml
├── config.py
├── data.py
├── evaluate.py
├── models.py
├── predict.py
├── serve.py
├── train.py
├── tune.py
└── utils.pyChoose local or Anyscale
For a local run, your laptop acts as a single-machine cluster, with one CPU as the head node and some of the remaining CPUs as worker nodes. For Anyscale, the README sets up a Workspace with a cluster environment and a compute configuration, and the environment already includes the Python version and libraries.
The README also lists AWS, GCP, Kubernetes (via KubeRay) and on-prem Ray as other options.
- Local: works on a personal laptop, slower on large workloads
- Anyscale: Workspace with a preset environment and GPU compute config
- Other: AWS, GCP, Kubernetes, on-prem
What people use it for
- Learning how an ML model is packaged, tested and served as a service
- Practising the workflow from experiment to deployment with a worked example
- Preparing for industry ML roles with a practical, end-to-end project
- Giving product or leadership staff a technical foundation for ML projects
Frequently asked questions
Is Made With ML free?
The repository is published under the MIT licence, and the README links to the course at madewithml.com. The source does not state pricing for the course or for Anyscale, so check those sites directly before you commit.
What do I need to run Made With ML?
The README recommends Python 3.10, Git and Jupyter. It also assumes working knowledge of Python and ML concepts, so it is not designed for complete beginners to Python.
Can I run Made With ML on my laptop?
Yes. The README says the code will work on any personal laptop, though it will be slower than running the same workloads on a larger cluster. Set the worker arguments to match your hardware.
Is Made With ML a production app I can use directly?
No. It is a teaching project that shows how to take an ML model to production. It is not a ready-made production application.
How does Made With ML compare to MLflow, Kubeflow, Metaflow or ZenML?
Those are tools for ML tracking and orchestration, while Made With ML is a course that teaches the design, development, deployment and iteration of ML systems. Use the course to learn the workflow, and use those tools when you need them in a real project. The source does not compare them directly.
Why does pip install fail or the environment break?
The source does not list troubleshooting steps. The README's advice is to use Python 3.10 with pyenv or pyenv-win, and to upgrade pip, setuptools and wheel before installing requirements.txt.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
Made With ML suits software engineers, data scientists, graduates and product leaders who want to learn how ML models are deployed and maintained. It is less suitable if you want only theory, a ready-made production app, or if you have no Python experience yet.
Install options & downloads