Final working, with good req.txt and readme
This commit is contained in:
94
README.md
94
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
|
||||||
@@ -1,67 +1,8 @@
|
|||||||
asttokens==3.0.1
|
torch>=2.0.0
|
||||||
comm==0.2.3
|
torchvision>=0.15.0
|
||||||
contourpy==1.3.3
|
numpy>=1.24.0
|
||||||
cuda-bindings==12.9.4
|
matplotlib>=3.7.0
|
||||||
cuda-pathfinder==1.2.2
|
Pillow>=9.0.0
|
||||||
cuda-toolkit==12.8.1
|
scikit-learn>=1.0.0
|
||||||
cycler==0.12.1
|
jupyter>=1.0.0
|
||||||
debugpy==1.8.20
|
ipykernel>=6.0.0
|
||||||
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
|
|
||||||
|
|||||||
Reference in New Issue
Block a user