Final project for MSSE Machine Learning course.
This repository contains src, data, and Docker configuration for building reproducible ML pipelines.
Prerequisites:
You will need Linux or Windows Subsystem for Linux (WSL2 recommended) and Docker installed and running. On Ubuntu/Debian you can install Docker with:
sudo apt update
sudo apt install docker.io
sudo systemctl enable --now dockerOn WSL, install Docker Desktop for Windows and enable WSL integration. Verify installation with:
docker --versionSetup Docker user
sudo groupadd docker # creates the group if it doesn’t exist
sudo usermod -aG docker $USER
newgrp docker # so the group membership takes effect
Test your configuration:
docker run hello-world
To run and build the image, from the project root (ml-final-project-team2) run:
make and point your browser to http://127.0.0.1:8888/lab after the images builds and runs.
Explore our notebooks in
src/jarvis/notebooks: ML pipeline forjarvisdatasetsrc/nomad/notebooks: ML pipeline fornomaddatasets
Addition Docker build instructons.
To build the image, from the project root (ml-final-project-team2) run:
make buildThis delegates into docker/Makefile and builds the image defined in docker/Dockerfile. The image includes CUDA 12.8 runtime, JupyterLab (Notebook 7), and Python dependencies from docker/requirements.txt.
To run the container and launch JupyterLab:
make runThis will start the container with GPU support ( CPU by default (run_gpu requires docker host support), mount your project root into --gpus all)/workspace inside the container, expose JupyterLab on port 8888, disable authentication for local development (--ServerApp.token=''), and start JupyterLab at http://127.0.0.1:8888/lab. Stop the container with Ctrl+C.
To clean up stopped containers and dangling images:
make cleanProject layout:
src/: ML pipeline code and notebooks forjarvisandnomaddatasetsdata/: Raw and preprocessed datasetsdocker/: Container build files (Dockerfile,requirements.txt, helper scripts)docs/: Project proposal, ideas, and user guide
Quick test:
After make run, open your browser at:
http://127.0.0.1:8888/lab
Navigate to /workspace/src/jarvis/notebooks/discovery.ipynb or /workspace/src/nomad/notebooks/eda.ipynb to start exploring the ML workflows.