ecopus's picture
Update README.md
7479a19 verified
---
datasets:
- FaiyazAzam/hw1-image-ds-groot-224
---
# groot_autogluon_predictor_w_hpo
## Model Description
This model was trained using [AutoGluon Multimodal](https://auto.gluon.ai/).
The best-performing architecture was **ResNet18 (timm_image)**.
The following model is an AutoGluon Multimodal Image Classifier created using Hyperparameter Optimization.
This model utilizes a groot image set with a binary classifier "has_groot" or "doesn't have groot", ultimately working to classify which images have a groot figuring within it, and which do not.
## Hyperparameters
- 'model.names': ['timm_image']
- 'model.timm_image.checkpoint_name': ['resnet18']
- 'optim.lr': 2.96e-4
- 'env.per_gpu_batch_size': 16
- 'optim.weight_decay': 1.6e-6
- 'optim.max_epochs': 50
## Training & Early Stopping
Utilized ASHA early-stopping scheduler, and an HPO timeout of 900 seconds.
## Evaluation
**Test set metrics:**
-'accuracy': 0.9
-'f1': 0.899
**Confusion Matrix**
$$
\begin{bmatrix}
15 & 0 \\
3 & 12
\end{bmatrix}
$$
**Per Class Metrics**
| Class | Precision | Recall | f1-score |
|----------|----------|----------|----------|
| 0 | 0.833 | 1.0 | 0.909 |
| 1 | 1.0 | 0.8 | 0.899 |
## Data Augmentation
Dataset utilized found here: https://huggingface.co/datasets/FaiyazAzam/hw1-image-ds-groot-224
- RandomResizedCrop(224)
- RandomHorizontalFlip(p=0.5)
- ColorJitter
- Normalize(mean=[...], std=[...])
## Input & Preprocessing
- Input resolution: 224x224 RGB images
- Preprocessing: Resize to 224x224 and normalize with ImageNet mean/std.
## Known Failure Modes
- Struggles with extreme lighting variations
- Confuses class A and B if object is partially occluded
## Usage
```python
from autogluon.multimodal import MultiModalPredictor
predictor = MultiModalPredictor.load('groot_autogluon_predictor_w_hpo')
pred = predictor.predict("example.jpg")