CoolFace
Modelpublic

maxf-coder/task_image_classifier

sourceHugging Facemitupdated 4mo agoView on Hugging Face
0likes
README.md71 linesDownload Raw Back to root
1---2language: en3license: mit4tags:5  - image-classification6  - efficientnet7  - vm-ai8  - activity-recognition9datasets:10  - maxf-coder/task_image_classifier11metrics:12  - accuracy13  - f114---15 16# VM.AI — Image Classifier17 18EfficientNet-B4 trained on 14 activity categories for the image-to-prompt pipeline.19 20## Performance21 22| Metric | Value |23|--------|-------|24| Test samples | {test_samples} |25| Top-1 accuracy | {top1} |26| Top-3 accuracy | {top3} |27| Macro F1 | {macro_f1} |28| Weighted F1 | {weighted_f1} |29 30## Per-Class Metrics31 32| Class | Precision | Recall | F1 | Support |33|-------|-----------|--------|------|---------|34{class_rows}35## Usage36 37```python38import torch39import timm40from PIL import Image41from torchvision import transforms42 43model = timm.create_model("efficientnet_b4", pretrained=False, num_classes=14)44model.load_state_dict(torch.load("efficientnet_b4_classifier.pth", map_location="cpu"))45model.eval()46 47transform = transforms.Compose([48    transforms.Resize((380, 380)),49    transforms.ToTensor(),50    transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]),51])52 53img = Image.open("photo.jpg").convert("RGB")54tensor = transform(img).unsqueeze(0)55with torch.no_grad():56    logits = model(tensor)57pred = logits.argmax(1).item()58```59 60## Training61 62Two-phase training: 5 frozen epochs (head only) + 20 unfrozen epochs (last 2 blocks).63Optimizer: AdamW with cosine annealing. Mixed precision (AMP).64See [train_classifier.py](https://github.com/Infiteri/VM.AI) for details.65 66## Charts67 68![Confusion matrix](confusion_matrix.png)69![Per-class metrics](per_class_metrics.png)70![Top-K accuracy](topk_accuracy.png)71