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 config
  • config.yaml β€” hyperparameters used for this run
  • classification_report.txt β€” per-class precision / recall / F1
  • confusion_matrix.csv β€” 22Γ—22 confusion matrix
  • metrics.json β€” standard + TTA scores

Source

Training code: https://github.com/genyarko/amd-merolav/tree/main/track2_finetuning

Downloads last month
-
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for iamcode6/dinov2-l-ccmt-mi300x

Finetuned
(29)
this model