Compare commits

..

17 Commits

Author SHA1 Message Date
KeshavAnandCode
0c56b9285a Final working, with good req.txt and readme 2026-03-20 13:25:47 -05:00
KeshavAnandCode
f28aa1d53b final notebookk run 2026-03-20 13:18:53 -05:00
KeshavAnandCode
66e153ff4a final submission readyu...moved notebookks 2026-03-20 13:12:06 -05:00
KeshavAnandCode
6f854a9d62 Added Deep CNN and ayugmentation 2026-03-18 22:59:28 -05:00
KeshavAnandCode
59f26a299c dropout fixed oerfitting, added 2026-03-18 19:09:41 -05:00
KeshavAnandCode
4f8c48c504 Adam optimized... better at training but worse bc overfitting worse 2026-03-18 18:49:33 -05:00
KeshavAnandCode
4d9bf5965b made modified noteboo to exploit GPU but overfits 2026-03-18 18:41:49 -05:00
KeshavAnandCode
bde3b97266 finished CNN, good accruacy overall but not good for minority and harder classes 2026-03-18 18:10:08 -05:00
KeshavAnandCode
4556d8c780 finished model 2026-03-18 18:07:31 -05:00
KeshavAnandCode
5cee36c80e optimizer, loss for tutorial cnn 2026-03-18 18:02:21 -05:00
KeshavAnandCode
255a9aa73c finished CNN class 2026-03-18 17:56:49 -05:00
KeshavAnandCode
d756b6bd1a split 2026-03-18 17:33:10 -05:00
KeshavAnandCode
64ed10e95c Torch working 2026-03-18 17:26:52 -05:00
KeshavAnandCode
69e4f4a584 exploring photo 2026-03-18 17:14:00 -05:00
KeshavAnandCode
e2406925da exploring data 2026-03-18 17:12:34 -05:00
KeshavAnandCode
8c74fb780d Real hellow world 2026-03-18 17:08:08 -05:00
KeshavAnandCode
9b65795602 hello world 2026-03-18 17:06:05 -05:00
12 changed files with 3660 additions and 58 deletions

5
.gitignore vendored
View File

@@ -193,3 +193,8 @@ ipython_config.py
data/** data/**
!data/**/ !data/**/
!**/.gitkeep !**/.gitkeep
models/**
!**/.gitkeep

View File

@@ -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

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,54 +1,8 @@
appnope==0.1.4 torch>=2.0.0
asttokens==3.0.1 torchvision>=0.15.0
comm==0.2.3 numpy>=1.24.0
contourpy==1.3.3 matplotlib>=3.7.0
cycler==0.12.1 Pillow>=9.0.0
debugpy==1.8.20 scikit-learn>=1.0.0
decorator==5.2.1 jupyter>=1.0.0
executing==2.2.1 ipykernel>=6.0.0
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
joblib==1.5.3
jupyter_client==8.8.0
jupyter_core==5.9.1
kiwisolver==1.5.0
MarkupSafe==3.0.3
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
packaging==26.0
pandas==3.0.1
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
scikit-learn==1.8.0
scipy==1.17.1
seaborn==0.13.2
six==1.17.0
stack-data==0.6.3
sympy==1.14.0
threadpoolctl==3.6.0
torch==2.10.0
torchvision==0.25.0
tornado==6.5.5
traitlets==5.14.3
typing_extensions==4.15.0
wcwidth==0.6.0

BIN
results/training_curves.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

View File