Upload 4 files
Browse files- README.md +276 -0
- best_model.pt +3 -0
- idx_to_class.json +197 -0
- train_config.json +23 -0
README.md
ADDED
|
@@ -0,0 +1,276 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# TwinCar: Deep Learning for Automotive Classification
|
| 2 |
+
|
| 3 |
+
TwinCar is a deep learning project focused on vehicle classification and automotive attribute prediction. It explores and compares multiple state-of-the-art convolutional neural networks (CNNs) and Vision Transformer architectures using transfer learning techniques on public automotive datasets.
|
| 4 |
+
|
| 5 |
+
The project evaluates model performance across different datasets and training strategies, including fine-tuning and feature extraction, while providing a reproducible workflow for data preparation, training, evaluation, and inference.
|
| 6 |
+
|
| 7 |
+
## Features
|
| 8 |
+
|
| 9 |
+
* Comparison of multiple deep learning architectures:
|
| 10 |
+
|
| 11 |
+
* EfficientNet-B0
|
| 12 |
+
* ConvNeXt-Tiny
|
| 13 |
+
* Vision Transformer (ViT-B/16)
|
| 14 |
+
* Swin Transformer (Swin-T)
|
| 15 |
+
* DeiT
|
| 16 |
+
* Support for multiple automotive datasets:
|
| 17 |
+
|
| 18 |
+
* Stanford Cars
|
| 19 |
+
* CompCars
|
| 20 |
+
* Transfer learning experiments with both fine-tuning and frozen-backbone approaches
|
| 21 |
+
* Comprehensive evaluation metrics and visualizations
|
| 22 |
+
* Batch inference demonstrations
|
| 23 |
+
* Structured and reproducible notebook-based workflow
|
| 24 |
+
|
| 25 |
+
---
|
| 26 |
+
|
| 27 |
+
## Project Structure
|
| 28 |
+
|
| 29 |
+
```text
|
| 30 |
+
TwinCar/
|
| 31 |
+
├── notebooks/
|
| 32 |
+
│ ├── 01_data_exploration.ipynb
|
| 33 |
+
│ ├── 02_data_preparation.ipynb
|
| 34 |
+
│ │
|
| 35 |
+
│ ├── EfficientNet Experiments
|
| 36 |
+
│ ├── 03a_efficientnet_b0_v1.ipynb
|
| 37 |
+
│ ├── 03a_efficientnet_b0_v1_evaluation.ipynb
|
| 38 |
+
│ ├── 03b_efficientnet_b0_v2.ipynb
|
| 39 |
+
│ ├── 03b_efficientnet_b0_v2_evaluation.ipynb
|
| 40 |
+
│ │
|
| 41 |
+
│ ├── ConvNeXt Experiments
|
| 42 |
+
│ ├── 04_convnext.ipynb
|
| 43 |
+
│ ├── 04_convnext_tiny_evaluation.ipynb
|
| 44 |
+
│ │
|
| 45 |
+
│ ├── Stanford Cars Models
|
| 46 |
+
│ ├── ConvNeXt_Tiny - Stanford Cars.ipynb
|
| 47 |
+
│ ├── ConvNeXt_Tiny with freezing - Stanford Cars.ipynb
|
| 48 |
+
│ ├── ConvNeXt_Tiny with freezing v2 - Stanford Cars.ipynb
|
| 49 |
+
│ ├── EfficientNet_B0 - Stanford Cars.ipynb
|
| 50 |
+
│ ├── Swin_T - Stanford Cars.ipynb
|
| 51 |
+
│ ├── ViT_B_16_StanfordCars_model.ipynb
|
| 52 |
+
│ ├── deit_tiny_patch16_224 - Stanford Cars.ipynb
|
| 53 |
+
│ │
|
| 54 |
+
│ ├── CompCars Models
|
| 55 |
+
│ ├── 06_compcars_efficientnet_b0_make_model_year.ipynb
|
| 56 |
+
│ ├── EfficientNet_B0 - Comp Cars.ipynb
|
| 57 |
+
│ ├── ConvNeXt_Tiny - Comp Cars.ipynb
|
| 58 |
+
│ ├── CompCars_ViT_model.ipynb
|
| 59 |
+
│ │
|
| 60 |
+
│ ├── 05_batch_prediction_demo.ipynb
|
| 61 |
+
│ └── ml-final-project.ipynb
|
| 62 |
+
│
|
| 63 |
+
├── models/
|
| 64 |
+
├── reports/
|
| 65 |
+
├── scripts/
|
| 66 |
+
├── requirements.txt
|
| 67 |
+
└── README.md
|
| 68 |
+
```
|
| 69 |
+
|
| 70 |
+
---
|
| 71 |
+
|
| 72 |
+
## Datasets
|
| 73 |
+
|
| 74 |
+
### Stanford Cars
|
| 75 |
+
|
| 76 |
+
A fine-grained vehicle classification dataset containing approximately 16,000 images across 196 vehicle categories. It is widely used for benchmarking car recognition models.
|
| 77 |
+
|
| 78 |
+
### CompCars
|
| 79 |
+
|
| 80 |
+
A large-scale automotive dataset containing over 30,000 images with detailed annotations, including vehicle make, model, and year. It is suitable for both classification and attribute prediction tasks.
|
| 81 |
+
|
| 82 |
+
---
|
| 83 |
+
|
| 84 |
+
## Model Architectures
|
| 85 |
+
|
| 86 |
+
### CNN-Based Models
|
| 87 |
+
|
| 88 |
+
#### EfficientNet-B0
|
| 89 |
+
|
| 90 |
+
EfficientNet uses compound scaling to balance network depth, width, and resolution. Multiple versions are included to evaluate the impact of training and optimization strategies.
|
| 91 |
+
|
| 92 |
+
#### ConvNeXt-Tiny
|
| 93 |
+
|
| 94 |
+
A modern CNN architecture inspired by Vision Transformers while retaining the efficiency and simplicity of convolutional networks. Experiments include both fully trainable and partially frozen variants.
|
| 95 |
+
|
| 96 |
+
### Transformer-Based Models
|
| 97 |
+
|
| 98 |
+
#### Vision Transformer (ViT-B/16)
|
| 99 |
+
|
| 100 |
+
A pure transformer architecture that processes images as sequences of patches for image classification.
|
| 101 |
+
|
| 102 |
+
#### Swin Transformer (Swin-T)
|
| 103 |
+
|
| 104 |
+
A hierarchical transformer architecture that uses shifted-window attention for efficient feature extraction.
|
| 105 |
+
|
| 106 |
+
#### DeiT
|
| 107 |
+
|
| 108 |
+
A data-efficient transformer model designed to achieve strong performance with reduced training requirements.
|
| 109 |
+
|
| 110 |
+
---
|
| 111 |
+
|
| 112 |
+
## Installation
|
| 113 |
+
|
| 114 |
+
### Prerequisites
|
| 115 |
+
|
| 116 |
+
* Python 3.8+
|
| 117 |
+
* CUDA-capable GPU (recommended)
|
| 118 |
+
* Jupyter Notebook
|
| 119 |
+
|
| 120 |
+
### Clone the Repository
|
| 121 |
+
|
| 122 |
+
```bash
|
| 123 |
+
git clone https://github.com/dragicakostoska/TwinCar.git
|
| 124 |
+
cd TwinCar
|
| 125 |
+
```
|
| 126 |
+
|
| 127 |
+
### Install Dependencies
|
| 128 |
+
|
| 129 |
+
```bash
|
| 130 |
+
pip install -r requirements.txt
|
| 131 |
+
```
|
| 132 |
+
|
| 133 |
+
---
|
| 134 |
+
|
| 135 |
+
## Dependencies
|
| 136 |
+
|
| 137 |
+
Core libraries used throughout the project include:
|
| 138 |
+
|
| 139 |
+
* PyTorch and TorchVision
|
| 140 |
+
* NumPy and Pandas
|
| 141 |
+
* Pillow
|
| 142 |
+
* Hugging Face Datasets
|
| 143 |
+
* Scikit-learn
|
| 144 |
+
* Matplotlib
|
| 145 |
+
* tqdm
|
| 146 |
+
* Jupyter Notebook and IPython Kernel
|
| 147 |
+
|
| 148 |
+
---
|
| 149 |
+
|
| 150 |
+
## Workflow
|
| 151 |
+
|
| 152 |
+
### 1. Data Exploration
|
| 153 |
+
|
| 154 |
+
`01_data_exploration.ipynb`
|
| 155 |
+
|
| 156 |
+
* Explore dataset characteristics
|
| 157 |
+
* Visualize class distributions
|
| 158 |
+
* Inspect image samples and dataset statistics
|
| 159 |
+
|
| 160 |
+
### 2. Data Preparation
|
| 161 |
+
|
| 162 |
+
`02_data_preparation.ipynb`
|
| 163 |
+
|
| 164 |
+
* Apply preprocessing and augmentation techniques
|
| 165 |
+
* Create training, validation, and test splits
|
| 166 |
+
* Build dataset loaders and transformations
|
| 167 |
+
|
| 168 |
+
### 3. Model Training
|
| 169 |
+
|
| 170 |
+
* Select the desired architecture notebook
|
| 171 |
+
* Configure hyperparameters
|
| 172 |
+
* Train using transfer learning or fine-tuning
|
| 173 |
+
* Monitor performance throughout training
|
| 174 |
+
|
| 175 |
+
### 4. Evaluation
|
| 176 |
+
|
| 177 |
+
* Analyze classification metrics
|
| 178 |
+
* Generate confusion matrices
|
| 179 |
+
* Visualize training and validation curves
|
| 180 |
+
* Compare model performance across architectures
|
| 181 |
+
|
| 182 |
+
### 5. Inference
|
| 183 |
+
|
| 184 |
+
`05_batch_prediction_demo.ipynb`
|
| 185 |
+
|
| 186 |
+
* Load trained models
|
| 187 |
+
* Run predictions on image batches
|
| 188 |
+
* Visualize outputs and confidence scores
|
| 189 |
+
|
| 190 |
+
---
|
| 191 |
+
|
| 192 |
+
## Training Strategies
|
| 193 |
+
|
| 194 |
+
The project investigates two common transfer learning approaches:
|
| 195 |
+
|
| 196 |
+
### Fine-Tuning
|
| 197 |
+
|
| 198 |
+
All network layers are trained starting from pretrained weights, allowing the model to adapt fully to the target dataset.
|
| 199 |
+
|
| 200 |
+
### Feature Extraction
|
| 201 |
+
|
| 202 |
+
Earlier layers are frozen while only the classification head is trained. This reduces training time and helps preserve pretrained feature representations.
|
| 203 |
+
|
| 204 |
+
---
|
| 205 |
+
|
| 206 |
+
## Evaluation Metrics
|
| 207 |
+
|
| 208 |
+
Each evaluation notebook provides:
|
| 209 |
+
|
| 210 |
+
* Top-1 and Top-5 Accuracy
|
| 211 |
+
* Precision, Recall, and F1 Score
|
| 212 |
+
* Per-class performance analysis
|
| 213 |
+
* Confusion matrices
|
| 214 |
+
* Training and validation loss curves
|
| 215 |
+
* Inference speed comparisons
|
| 216 |
+
* Prediction visualizations
|
| 217 |
+
|
| 218 |
+
---
|
| 219 |
+
|
| 220 |
+
## Key Observations
|
| 221 |
+
|
| 222 |
+
* EfficientNet-B0 v2 improves upon the baseline v1 configuration.
|
| 223 |
+
* ConvNeXt-Tiny achieves strong performance while maintaining computational efficiency.
|
| 224 |
+
* Transformer-based architectures provide competitive results and different representational advantages compared to CNNs.
|
| 225 |
+
* Transfer learning significantly reduces training requirements while maintaining strong classification accuracy.
|
| 226 |
+
|
| 227 |
+
---
|
| 228 |
+
|
| 229 |
+
## Customization
|
| 230 |
+
|
| 231 |
+
The project can be extended in several ways:
|
| 232 |
+
|
| 233 |
+
* Integrate additional automotive datasets
|
| 234 |
+
* Add new model architectures
|
| 235 |
+
* Experiment with alternative hyperparameters
|
| 236 |
+
* Explore multi-task learning objectives
|
| 237 |
+
* Implement custom data augmentation pipelines
|
| 238 |
+
|
| 239 |
+
---
|
| 240 |
+
|
| 241 |
+
## Future Work
|
| 242 |
+
|
| 243 |
+
* Convert notebook workflows into modular Python packages
|
| 244 |
+
* Implement model ensembling techniques
|
| 245 |
+
* Add advanced augmentation methods such as MixUp and RandAugment
|
| 246 |
+
* Explore knowledge distillation strategies
|
| 247 |
+
* Optimize deployment using ONNX or TensorRT
|
| 248 |
+
* Develop an inference API
|
| 249 |
+
* Create a unified benchmark report across all experiments
|
| 250 |
+
|
| 251 |
+
---
|
| 252 |
+
|
| 253 |
+
## References
|
| 254 |
+
|
| 255 |
+
* EfficientNet — *Scaling Convolutional Neural Networks Efficiently*
|
| 256 |
+
* ConvNeXt — *A ConvNet for the 2020s*
|
| 257 |
+
* Vision Transformer — *An Image is Worth 16×16 Words*
|
| 258 |
+
* Swin Transformer — *Hierarchical Vision Transformer Using Shifted Windows*
|
| 259 |
+
* DeiT — *Data-efficient Image Transformers*
|
| 260 |
+
|
| 261 |
+
---
|
| 262 |
+
|
| 263 |
+
## Contributing
|
| 264 |
+
|
| 265 |
+
Contributions, suggestions, and bug reports are welcome. Feel free to open an issue or submit a pull request.
|
| 266 |
+
|
| 267 |
+
---
|
| 268 |
+
|
| 269 |
+
## License
|
| 270 |
+
|
| 271 |
+
This project is provided for educational and research purposes.
|
| 272 |
+
|
| 273 |
+
|
| 274 |
+
---
|
| 275 |
+
|
| 276 |
+
**Last Updated:** June 2026
|
best_model.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:634362d34fb6c9dcd1484278157f395482f4ba0b732bf114e2cff1a46ec43aa3
|
| 3 |
+
size 111947591
|
idx_to_class.json
ADDED
|
@@ -0,0 +1,197 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"0": "AM_General_Hummer_SUV_2000",
|
| 3 |
+
"1": "Acura_Integra_Type_R_2001",
|
| 4 |
+
"2": "Acura_RL_Sedan_2012",
|
| 5 |
+
"3": "Acura_TL_Sedan_2012",
|
| 6 |
+
"4": "Acura_TL_Type-S_2008",
|
| 7 |
+
"5": "Acura_TSX_Sedan_2012",
|
| 8 |
+
"6": "Acura_ZDX_Hatchback_2012",
|
| 9 |
+
"7": "Aston_Martin_V8_Vantage_Convertible_2012",
|
| 10 |
+
"8": "Aston_Martin_V8_Vantage_Coupe_2012",
|
| 11 |
+
"9": "Aston_Martin_Virage_Convertible_2012",
|
| 12 |
+
"10": "Aston_Martin_Virage_Coupe_2012",
|
| 13 |
+
"11": "Audi_100_Sedan_1994",
|
| 14 |
+
"12": "Audi_100_Wagon_1994",
|
| 15 |
+
"13": "Audi_A5_Coupe_2012",
|
| 16 |
+
"14": "Audi_R8_Coupe_2012",
|
| 17 |
+
"15": "Audi_RS_4_Convertible_2008",
|
| 18 |
+
"16": "Audi_S4_Sedan_2007",
|
| 19 |
+
"17": "Audi_S4_Sedan_2012",
|
| 20 |
+
"18": "Audi_S5_Convertible_2012",
|
| 21 |
+
"19": "Audi_S5_Coupe_2012",
|
| 22 |
+
"20": "Audi_S6_Sedan_2011",
|
| 23 |
+
"21": "Audi_TTS_Coupe_2012",
|
| 24 |
+
"22": "Audi_TT_Hatchback_2011",
|
| 25 |
+
"23": "Audi_TT_RS_Coupe_2012",
|
| 26 |
+
"24": "Audi_V8_Sedan_1994",
|
| 27 |
+
"25": "BMW_1_Series_Convertible_2012",
|
| 28 |
+
"26": "BMW_1_Series_Coupe_2012",
|
| 29 |
+
"27": "BMW_3_Series_Sedan_2012",
|
| 30 |
+
"28": "BMW_3_Series_Wagon_2012",
|
| 31 |
+
"29": "BMW_6_Series_Convertible_2007",
|
| 32 |
+
"30": "BMW_ActiveHybrid_5_Sedan_2012",
|
| 33 |
+
"31": "BMW_M3_Coupe_2012",
|
| 34 |
+
"32": "BMW_M5_Sedan_2010",
|
| 35 |
+
"33": "BMW_M6_Convertible_2010",
|
| 36 |
+
"34": "BMW_X3_SUV_2012",
|
| 37 |
+
"35": "BMW_X5_SUV_2007",
|
| 38 |
+
"36": "BMW_X6_SUV_2012",
|
| 39 |
+
"37": "BMW_Z4_Convertible_2012",
|
| 40 |
+
"38": "Bentley_Arnage_Sedan_2009",
|
| 41 |
+
"39": "Bentley_Continental_Flying_Spur_Sedan_2007",
|
| 42 |
+
"40": "Bentley_Continental_GT_Coupe_2007",
|
| 43 |
+
"41": "Bentley_Continental_GT_Coupe_2012",
|
| 44 |
+
"42": "Bentley_Continental_Supersports_Conv._Convertible_2012",
|
| 45 |
+
"43": "Bentley_Mulsanne_Sedan_2011",
|
| 46 |
+
"44": "Bugatti_Veyron_16.4_Convertible_2009",
|
| 47 |
+
"45": "Bugatti_Veyron_16.4_Coupe_2009",
|
| 48 |
+
"46": "Buick_Enclave_SUV_2012",
|
| 49 |
+
"47": "Buick_Rainier_SUV_2007",
|
| 50 |
+
"48": "Buick_Regal_GS_2012",
|
| 51 |
+
"49": "Buick_Verano_Sedan_2012",
|
| 52 |
+
"50": "Cadillac_CTS-V_Sedan_2012",
|
| 53 |
+
"51": "Cadillac_Escalade_EXT_Crew_Cab_2007",
|
| 54 |
+
"52": "Cadillac_SRX_SUV_2012",
|
| 55 |
+
"53": "Chevrolet_Avalanche_Crew_Cab_2012",
|
| 56 |
+
"54": "Chevrolet_Camaro_Convertible_2012",
|
| 57 |
+
"55": "Chevrolet_Cobalt_SS_2010",
|
| 58 |
+
"56": "Chevrolet_Corvette_Convertible_2012",
|
| 59 |
+
"57": "Chevrolet_Corvette_Ron_Fellows_Edition_Z06_2007",
|
| 60 |
+
"58": "Chevrolet_Corvette_ZR1_2012",
|
| 61 |
+
"59": "Chevrolet_Express_Cargo_Van_2007",
|
| 62 |
+
"60": "Chevrolet_Express_Van_2007",
|
| 63 |
+
"61": "Chevrolet_HHR_SS_2010",
|
| 64 |
+
"62": "Chevrolet_Impala_Sedan_2007",
|
| 65 |
+
"63": "Chevrolet_Malibu_Hybrid_Sedan_2010",
|
| 66 |
+
"64": "Chevrolet_Malibu_Sedan_2007",
|
| 67 |
+
"65": "Chevrolet_Monte_Carlo_Coupe_2007",
|
| 68 |
+
"66": "Chevrolet_Silverado_1500_Classic_Extended_Cab_2007",
|
| 69 |
+
"67": "Chevrolet_Silverado_1500_Extended_Cab_2012",
|
| 70 |
+
"68": "Chevrolet_Silverado_1500_Hybrid_Crew_Cab_2012",
|
| 71 |
+
"69": "Chevrolet_Silverado_1500_Regular_Cab_2012",
|
| 72 |
+
"70": "Chevrolet_Silverado_2500HD_Regular_Cab_2012",
|
| 73 |
+
"71": "Chevrolet_Sonic_Sedan_2012",
|
| 74 |
+
"72": "Chevrolet_Tahoe_Hybrid_SUV_2012",
|
| 75 |
+
"73": "Chevrolet_TrailBlazer_SS_2009",
|
| 76 |
+
"74": "Chevrolet_Traverse_SUV_2012",
|
| 77 |
+
"75": "Chrysler_300_SRT-8_2010",
|
| 78 |
+
"76": "Chrysler_Aspen_SUV_2009",
|
| 79 |
+
"77": "Chrysler_Crossfire_Convertible_2008",
|
| 80 |
+
"78": "Chrysler_PT_Cruiser_Convertible_2008",
|
| 81 |
+
"79": "Chrysler_Sebring_Convertible_2010",
|
| 82 |
+
"80": "Chrysler_Town_and_Country_Minivan_2012",
|
| 83 |
+
"81": "Daewoo_Nubira_Wagon_2002",
|
| 84 |
+
"82": "Dodge_Caliber_Wagon_2007",
|
| 85 |
+
"83": "Dodge_Caliber_Wagon_2012",
|
| 86 |
+
"84": "Dodge_Caravan_Minivan_1997",
|
| 87 |
+
"85": "Dodge_Challenger_SRT8_2011",
|
| 88 |
+
"86": "Dodge_Charger_SRT-8_2009",
|
| 89 |
+
"87": "Dodge_Charger_Sedan_2012",
|
| 90 |
+
"88": "Dodge_Dakota_Club_Cab_2007",
|
| 91 |
+
"89": "Dodge_Dakota_Crew_Cab_2010",
|
| 92 |
+
"90": "Dodge_Durango_SUV_2007",
|
| 93 |
+
"91": "Dodge_Durango_SUV_2012",
|
| 94 |
+
"92": "Dodge_Journey_SUV_2012",
|
| 95 |
+
"93": "Dodge_Magnum_Wagon_2008",
|
| 96 |
+
"94": "Dodge_Ram_Pickup_3500_Crew_Cab_2010",
|
| 97 |
+
"95": "Dodge_Ram_Pickup_3500_Quad_Cab_2009",
|
| 98 |
+
"96": "Dodge_Sprinter_Cargo_Van_2009",
|
| 99 |
+
"97": "Eagle_Talon_Hatchback_1998",
|
| 100 |
+
"98": "FIAT_500_Abarth_2012",
|
| 101 |
+
"99": "FIAT_500_Convertible_2012",
|
| 102 |
+
"100": "Ferrari_458_Italia_Convertible_2012",
|
| 103 |
+
"101": "Ferrari_458_Italia_Coupe_2012",
|
| 104 |
+
"102": "Ferrari_California_Convertible_2012",
|
| 105 |
+
"103": "Ferrari_FF_Coupe_2012",
|
| 106 |
+
"104": "Fisker_Karma_Sedan_2012",
|
| 107 |
+
"105": "Ford_E-Series_Wagon_Van_2012",
|
| 108 |
+
"106": "Ford_Edge_SUV_2012",
|
| 109 |
+
"107": "Ford_Expedition_EL_SUV_2009",
|
| 110 |
+
"108": "Ford_F-150_Regular_Cab_2007",
|
| 111 |
+
"109": "Ford_F-150_Regular_Cab_2012",
|
| 112 |
+
"110": "Ford_F-450_Super_Duty_Crew_Cab_2012",
|
| 113 |
+
"111": "Ford_Fiesta_Sedan_2012",
|
| 114 |
+
"112": "Ford_Focus_Sedan_2007",
|
| 115 |
+
"113": "Ford_Freestar_Minivan_2007",
|
| 116 |
+
"114": "Ford_GT_Coupe_2006",
|
| 117 |
+
"115": "Ford_Mustang_Convertible_2007",
|
| 118 |
+
"116": "Ford_Ranger_SuperCab_2011",
|
| 119 |
+
"117": "GMC_Acadia_SUV_2012",
|
| 120 |
+
"118": "GMC_Canyon_Extended_Cab_2012",
|
| 121 |
+
"119": "GMC_Savana_Van_2012",
|
| 122 |
+
"120": "GMC_Terrain_SUV_2012",
|
| 123 |
+
"121": "GMC_Yukon_Hybrid_SUV_2012",
|
| 124 |
+
"122": "Geo_Metro_Convertible_1993",
|
| 125 |
+
"123": "HUMMER_H2_SUT_Crew_Cab_2009",
|
| 126 |
+
"124": "HUMMER_H3T_Crew_Cab_2010",
|
| 127 |
+
"125": "Honda_Accord_Coupe_2012",
|
| 128 |
+
"126": "Honda_Accord_Sedan_2012",
|
| 129 |
+
"127": "Honda_Odyssey_Minivan_2007",
|
| 130 |
+
"128": "Honda_Odyssey_Minivan_2012",
|
| 131 |
+
"129": "Hyundai_Accent_Sedan_2012",
|
| 132 |
+
"130": "Hyundai_Azera_Sedan_2012",
|
| 133 |
+
"131": "Hyundai_Elantra_Sedan_2007",
|
| 134 |
+
"132": "Hyundai_Elantra_Touring_Hatchback_2012",
|
| 135 |
+
"133": "Hyundai_Genesis_Sedan_2012",
|
| 136 |
+
"134": "Hyundai_Santa_Fe_SUV_2012",
|
| 137 |
+
"135": "Hyundai_Sonata_Hybrid_Sedan_2012",
|
| 138 |
+
"136": "Hyundai_Sonata_Sedan_2012",
|
| 139 |
+
"137": "Hyundai_Tucson_SUV_2012",
|
| 140 |
+
"138": "Hyundai_Veloster_Hatchback_2012",
|
| 141 |
+
"139": "Hyundai_Veracruz_SUV_2012",
|
| 142 |
+
"140": "Infiniti_G_Coupe_IPL_2012",
|
| 143 |
+
"141": "Infiniti_QX56_SUV_2011",
|
| 144 |
+
"142": "Isuzu_Ascender_SUV_2008",
|
| 145 |
+
"143": "Jaguar_XK_XKR_2012",
|
| 146 |
+
"144": "Jeep_Compass_SUV_2012",
|
| 147 |
+
"145": "Jeep_Grand_Cherokee_SUV_2012",
|
| 148 |
+
"146": "Jeep_Liberty_SUV_2012",
|
| 149 |
+
"147": "Jeep_Patriot_SUV_2012",
|
| 150 |
+
"148": "Jeep_Wrangler_SUV_2012",
|
| 151 |
+
"149": "Lamborghini_Aventador_Coupe_2012",
|
| 152 |
+
"150": "Lamborghini_Diablo_Coupe_2001",
|
| 153 |
+
"151": "Lamborghini_Gallardo_LP_570-4_Superleggera_2012",
|
| 154 |
+
"152": "Lamborghini_Reventon_Coupe_2008",
|
| 155 |
+
"153": "Land_Rover_LR2_SUV_2012",
|
| 156 |
+
"154": "Land_Rover_Range_Rover_SUV_2012",
|
| 157 |
+
"155": "Lincoln_Town_Car_Sedan_2011",
|
| 158 |
+
"156": "MINI_Cooper_Roadster_Convertible_2012",
|
| 159 |
+
"157": "Maybach_Landaulet_Convertible_2012",
|
| 160 |
+
"158": "Mazda_Tribute_SUV_2011",
|
| 161 |
+
"159": "McLaren_MP4-12C_Coupe_2012",
|
| 162 |
+
"160": "Mercedes-Benz_300-Class_Convertible_1993",
|
| 163 |
+
"161": "Mercedes-Benz_C-Class_Sedan_2012",
|
| 164 |
+
"162": "Mercedes-Benz_E-Class_Sedan_2012",
|
| 165 |
+
"163": "Mercedes-Benz_S-Class_Sedan_2012",
|
| 166 |
+
"164": "Mercedes-Benz_SL-Class_Coupe_2009",
|
| 167 |
+
"165": "Mercedes-Benz_Sprinter_Van_2012",
|
| 168 |
+
"166": "Mitsubishi_Lancer_Sedan_2012",
|
| 169 |
+
"167": "Nissan_240SX_Coupe_1998",
|
| 170 |
+
"168": "Nissan_Juke_Hatchback_2012",
|
| 171 |
+
"169": "Nissan_Leaf_Hatchback_2012",
|
| 172 |
+
"170": "Nissan_NV_Passenger_Van_2012",
|
| 173 |
+
"171": "Plymouth_Neon_Coupe_1999",
|
| 174 |
+
"172": "Porsche_Panamera_Sedan_2012",
|
| 175 |
+
"173": "Rolls-Royce_Ghost_Sedan_2012",
|
| 176 |
+
"174": "Rolls-Royce_Phantom_Drophead_Coupe_Convertible_2012",
|
| 177 |
+
"175": "Rolls-Royce_Phantom_Sedan_2012",
|
| 178 |
+
"176": "Scion_xD_Hatchback_2012",
|
| 179 |
+
"177": "Spyker_C8_Convertible_2009",
|
| 180 |
+
"178": "Spyker_C8_Coupe_2009",
|
| 181 |
+
"179": "Suzuki_Aerio_Sedan_2007",
|
| 182 |
+
"180": "Suzuki_Kizashi_Sedan_2012",
|
| 183 |
+
"181": "Suzuki_SX4_Hatchback_2012",
|
| 184 |
+
"182": "Suzuki_SX4_Sedan_2012",
|
| 185 |
+
"183": "Tesla_Model_S_Sedan_2012",
|
| 186 |
+
"184": "Toyota_4Runner_SUV_2012",
|
| 187 |
+
"185": "Toyota_Camry_Sedan_2012",
|
| 188 |
+
"186": "Toyota_Corolla_Sedan_2012",
|
| 189 |
+
"187": "Toyota_Sequoia_SUV_2012",
|
| 190 |
+
"188": "Volkswagen_Beetle_Hatchback_2012",
|
| 191 |
+
"189": "Volkswagen_Golf_Hatchback_1991",
|
| 192 |
+
"190": "Volkswagen_Golf_Hatchback_2012",
|
| 193 |
+
"191": "Volvo_240_Sedan_1993",
|
| 194 |
+
"192": "Volvo_C30_Hatchback_2012",
|
| 195 |
+
"193": "Volvo_XC90_SUV_2007",
|
| 196 |
+
"194": "smart_fortwo_Convertible_2012"
|
| 197 |
+
}
|
train_config.json
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"model": "convnext_tiny",
|
| 3 |
+
"num_classes": 195,
|
| 4 |
+
"img_size": 224,
|
| 5 |
+
"batch_size": 32,
|
| 6 |
+
"seed": 42,
|
| 7 |
+
"epochs": 30,
|
| 8 |
+
"lr": 0.0003,
|
| 9 |
+
"weight_decay": 0.0001,
|
| 10 |
+
"patience": 5,
|
| 11 |
+
"lr_patience": 2,
|
| 12 |
+
"label_smoothing": 0.1,
|
| 13 |
+
"imagenet_mean": [
|
| 14 |
+
0.485,
|
| 15 |
+
0.456,
|
| 16 |
+
0.406
|
| 17 |
+
],
|
| 18 |
+
"imagenet_std": [
|
| 19 |
+
0.229,
|
| 20 |
+
0.224,
|
| 21 |
+
0.225
|
| 22 |
+
]
|
| 23 |
+
}
|