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.
Run the following in your terminal:
curl -LsSf https://astral.sh/uv/install.sh | shAfter installation, open a new terminal so uv is on your PATH.
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 --helpThis should work out of the box with the provided starter code.
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 loginFollow the prompt to paste your API key.
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.pyThis 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 expThen, 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>