From 0c56b9285a0565679d6afa33ba92d1b53ddb42d2 Mon Sep 17 00:00:00 2001 From: KeshavAnandCode Date: Fri, 20 Mar 2026 13:25:47 -0500 Subject: [PATCH] Final working, with good req.txt and readme --- README.md | 94 ++++++++++++++++++++++++++++++++++++++++++++-- notebooks/.gitkeep | 0 requirements.txt | 75 ++++-------------------------------- 3 files changed, 98 insertions(+), 71 deletions(-) delete mode 100644 notebooks/.gitkeep diff --git a/README.md b/README.md index 6cfc9fb..6663852 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,92 @@ -# vehicle-classification +# Vehicle Classification — UTD Deep Learning Assessment -UTD Vehicle Classification Assessment Code +A Convolutional Neural Network (CNN) trained to classify 8 vehicle types: +**Bicycle, Bus, Car, Motorcycle, NonVehicles, Taxi, Truck, Van** -Download Zip and move to data/raw/ -Extract zip into data/raw/vehicle_classification +--- + +## Requirements +- Python 3.11 (see `.python-version`) +- pip + +--- + +## Setup + +### 1. Clone the repository +```bash +git clone https://git.keshavanand.net/KeshavAnandCode/vehicle-classification.git +cd utd-vehicle-classification +``` + +### 2. Create and activate a virtual environment +```bash +python3.11 -m venv .venv +``` +**Mac/Linux:** +```bash +source .venv/bin/activate +``` +**Windows:** +```bash +.venv\Scripts\activate +``` + +### 3. Install dependencies +```bash +pip install -r requirements.txt +``` + +### 4. Download the dataset +- Download `vehicle_classification.zip` +- Place and extract it so the structure looks exactly like this: +``` +data/ +└── raw/ + └── vehicle_classification/ + ├── Bicycle/ + ├── Bus/ + ├── Car/ + ├── Motorcycle/ + ├── NonVehicles/ + ├── Taxi/ + ├── Truck/ + └── Van/ +``` + +### 5. Run the notebook +```bash +jupyter notebook notebooks/submission.ipynb +``` +Once open: **Kernel → Restart & Run All** + +--- + +## Project Structure +``` +utd-vehicle-classification/ +├── notebooks/ +│ ├── submission.ipynb ← main submission, run this +│ └── experiments/ ← exploratory notebooks (ignore) +├── data/ +│ └── raw/ +│ └── vehicle_classification/ ← dataset goes here +├── models/ ← saved model weights (auto-created on run) +├── results/ ← training curves (auto-created on run) +├── requirements.txt +└── README.md +``` + +--- + +## Expected Output +``` +Final Train Accuracy : ~88% +Final Test Accuracy : ~82% +``` + +--- + +## Notes +- Device is detected automatically — runs on NVIDIA GPU, Apple Silicon (MPS), or CPU with no code changes required +- `models/` and `results/` directories are created automatically when the notebook runs \ No newline at end of file diff --git a/notebooks/.gitkeep b/notebooks/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/requirements.txt b/requirements.txt index 18e4972..18d3ee6 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,67 +1,8 @@ -asttokens==3.0.1 -comm==0.2.3 -contourpy==1.3.3 -cuda-bindings==12.9.4 -cuda-pathfinder==1.2.2 -cuda-toolkit==12.8.1 -cycler==0.12.1 -debugpy==1.8.20 -decorator==5.2.1 -executing==2.2.1 -filelock==3.25.2 -fonttools==4.62.1 -fsspec==2026.2.0 -ipykernel==7.2.0 -ipython==9.10.0 -ipython_pygments_lexers==1.1.1 -jedi==0.19.2 -Jinja2==3.1.6 -jupyter_client==8.8.0 -jupyter_core==5.9.1 -kiwisolver==1.5.0 -MarkupSafe==3.0.2 -matplotlib==3.10.8 -matplotlib-inline==0.2.1 -mpmath==1.3.0 -nest-asyncio==1.6.0 -networkx==3.6.1 -numpy==2.4.3 -nvidia-cublas-cu12==12.8.4.1 -nvidia-cuda-cupti-cu12==12.8.90 -nvidia-cuda-nvrtc-cu12==12.8.93 -nvidia-cuda-runtime-cu12==12.8.90 -nvidia-cudnn-cu12==9.20.0.48 -nvidia-cufft-cu12==11.3.3.83 -nvidia-cufile-cu12==1.13.1.3 -nvidia-curand-cu12==10.3.9.90 -nvidia-cusolver-cu12==11.7.3.90 -nvidia-cusparse-cu12==12.5.8.93 -nvidia-cusparselt-cu12==0.7.1 -nvidia-nccl-cu12==2.29.7 -nvidia-nvjitlink-cu12==12.8.93 -nvidia-nvshmem-cu12==3.4.5 -nvidia-nvtx-cu12==12.8.90 -packaging==26.0 -parso==0.8.6 -pexpect==4.9.0 -pillow==12.1.1 -platformdirs==4.9.4 -prompt_toolkit==3.0.52 -psutil==7.2.2 -ptyprocess==0.7.0 -pure_eval==0.2.3 -Pygments==2.19.2 -pyparsing==3.3.2 -python-dateutil==2.9.0.post0 -pyzmq==27.1.0 -six==1.17.0 -stack-data==0.6.3 -sympy==1.14.0 -torch==2.12.0.dev20260318+cu128 -torchaudio==2.11.0.dev20260318+cu128 -torchvision==0.26.0.dev20260318+cu128 -tornado==6.5.5 -traitlets==5.14.3 -triton==3.6.0+git9844da95 -typing_extensions==4.15.0 -wcwidth==0.6.0 +torch>=2.0.0 +torchvision>=0.15.0 +numpy>=1.24.0 +matplotlib>=3.7.0 +Pillow>=9.0.0 +scikit-learn>=1.0.0 +jupyter>=1.0.0 +ipykernel>=6.0.0