Compare commits
22 Commits
852bd3fcab
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0c56b9285a | ||
|
|
f28aa1d53b | ||
|
|
66e153ff4a | ||
|
|
6f854a9d62 | ||
|
|
59f26a299c | ||
|
|
4f8c48c504 | ||
|
|
4d9bf5965b | ||
|
|
bde3b97266 | ||
|
|
4556d8c780 | ||
|
|
5cee36c80e | ||
|
|
255a9aa73c | ||
|
|
d756b6bd1a | ||
|
|
64ed10e95c | ||
|
|
69e4f4a584 | ||
|
|
e2406925da | ||
|
|
8c74fb780d | ||
|
|
9b65795602 | ||
|
|
bdabbf0457 | ||
| 15be32b913 | |||
| 9f90d2e53b | |||
| 9e02032857 | |||
| ad5efe1913 |
10
.gitignore
vendored
10
.gitignore
vendored
@@ -188,3 +188,13 @@ ipython_config.py
|
|||||||
# Remove previous ipynb_checkpoints
|
# Remove previous ipynb_checkpoints
|
||||||
# git rm -r .ipynb_checkpoints/
|
# git rm -r .ipynb_checkpoints/
|
||||||
|
|
||||||
|
# User Added:
|
||||||
|
|
||||||
|
data/**
|
||||||
|
!data/**/
|
||||||
|
!**/.gitkeep
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
models/**
|
||||||
|
!**/.gitkeep
|
||||||
|
|||||||
1
.python-version
Normal file
1
.python-version
Normal file
@@ -0,0 +1 @@
|
|||||||
|
3.11
|
||||||
93
README.md
93
README.md
@@ -1,3 +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**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 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
|
||||||
0
data/raw/.gitkeep
Normal file
0
data/raw/.gitkeep
Normal file
0
models/.gitkeep
Normal file
0
models/.gitkeep
Normal file
685
notebooks/Final-Submission.ipynb
Normal file
685
notebooks/Final-Submission.ipynb
Normal file
File diff suppressed because one or more lines are too long
538
notebooks/experiments/01-tutorial-cnn.ipynb
Normal file
538
notebooks/experiments/01-tutorial-cnn.ipynb
Normal file
File diff suppressed because one or more lines are too long
558
notebooks/experiments/02-tutorial-cnn-modified-vals.ipynb
Normal file
558
notebooks/experiments/02-tutorial-cnn-modified-vals.ipynb
Normal file
File diff suppressed because one or more lines are too long
558
notebooks/experiments/03-adam-optimizer.ipynb
Normal file
558
notebooks/experiments/03-adam-optimizer.ipynb
Normal file
File diff suppressed because one or more lines are too long
598
notebooks/experiments/04-batch-norm-dropout.ipynb
Normal file
598
notebooks/experiments/04-batch-norm-dropout.ipynb
Normal file
File diff suppressed because one or more lines are too long
620
notebooks/experiments/05-data-augmentation.ipynb
Normal file
620
notebooks/experiments/05-data-augmentation.ipynb
Normal file
File diff suppressed because one or more lines are too long
8
requirements.txt
Normal file
8
requirements.txt
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
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
|
||||||
BIN
results/training_curves.png
Normal file
BIN
results/training_curves.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 60 KiB |
Reference in New Issue
Block a user