Skip to content

Latest commit

 

History

History
63 lines (39 loc) · 2.41 KB

File metadata and controls

63 lines (39 loc) · 2.41 KB

Homework 1: Imitation Learning

Setup

This project uses uv for package management. uv is a Python package and environment manager from Astral. It replaces tools like pip, pipx, conda, and virtualenv with a single, simple interface. It is also much faster than prior tools.

Installing uv

Run the following in your terminal:

curl -LsSf https://astral.sh/uv/install.sh | sh

After installation, open a new terminal so uv is on your PATH.

Always use uv run

Do not run python or pip directly. Always run scripts through uv run so dependencies and environments are handled automatically. If you want to add a new dependency, you can use uv add. This will add the dependency to pyproject.toml, update uv.lock, and install the package into your virtual environment.

Example:

uv run src/hw1_imitation/train.py --help

This should work out of the box with the provided starter code.

Weights & Biases (wandb) login

These assignments use Weights & Biases (WandB) for experiment tracking. WandB is a tool for logging and visualizing machine learning experiments. It is free for academic use. Before running a training script, you will need to log in to WandB using your API key.

uv run wandb login

Follow the prompt to paste your API key.

Using Modal

Note that Modal is likely not necessary for this assignment. In testing, training was much faster on a local laptop CPU than on Modal. However, you may need to use Modal in future assignments, so if you want to get set up, here are the instructions:

First, create a Modal account. You should recieve $30 in free credits, which will be plenty for this assignment. Then, you can train on Modal with the following command:

uv run modal run src/hw1_imitation/modal_train.py

This will build a Modal container and launch training remotely. You can pass the same flags as the local training script. If you are logged into WandB locally, your API key will be automatically forwarded to the Modal container.

Logs and checkpoints will be saved to a Modal volume called hw1-imitation-volume. To inspect the logs, you can use:

uv run modal volume ls hw1-imitation-volume exp

Then, you can download the logs and checkpoints to your local machine using a command like the following:

uv run modal volume get hw1-imitation-volume exp/<experiment_name>