DINOv2-Large β CCMT Crop & Disease (MI300X fine-tune)
Fine-tuned DINOv2-Large (304M params) on the CCMT crop-pest-and-disease dataset (22 classes across cashew, cassava, maize, tomato).
Trained on a single AMD Instinct MI300X using PyTorch + ROCm, as a submission to the lablab.ai AMD hackathon Track 2 β Fine-Tuning on AMD GPUs.
Results
| Metric | This model (DINOv2-L / MI300X) | Baseline (EfficientNetB0 / P100) |
|---|---|---|
| Test accuracy | 0.9706 (TTA) | 0.9316 (TTA) |
| Macro F1 | 0.9713 | 0.9348 |
| Standard acc (no TTA) | 0.9705 | β |
TTA rounds: 10.
Training
- Backbone: DINOv2-L ViT-L/14 (self-supervised, LVD-142M pretrain)
- Precision: bf16 (native MI300X)
- Schedule: 2-phase β linear probe β full fine-tune with layer-wise LR decay
- Optimizer: AdamW, cosine schedule, grad-clip 1.0
- Augmentation: RandAugment + Mixup/CutMix + RandomErasing
See config.yaml for the full hyperparameter set.
Usage
import timm, torch
model = timm.create_model(
"vit_large_patch14_dinov2.lvd142m",
pretrained=False,
num_classes=22,
img_size=224,
)
ckpt = torch.load("best.pt", map_location="cpu", weights_only=False)
model.load_state_dict(ckpt["state_dict"])
model.eval()
Class index map is embedded inside the checkpoint under cfg; see the training repo
for splits.json which defines the class_to_idx mapping.
Artifacts
best.ptβ model weights + training configconfig.yamlβ hyperparameters used for this runclassification_report.txtβ per-class precision / recall / F1confusion_matrix.csvβ 22Γ22 confusion matrixmetrics.jsonβ standard + TTA scores
Source
Training code: https://github.com/genyarko/amd-merolav/tree/main/track2_finetuning
- Downloads last month
- -
Model tree for iamcode6/dinov2-l-ccmt-mi300x
Base model
facebook/dinov2-large