DINOv3-7B + LoRA โ AI image detector
Binary classifier (real vs AI-generated). Trained as a LoRA adapter on top of
facebook/dinov3-vit7b16-pretrain-lvd1689m with a LayerNorm + Linear head, then
saved as a single Trainer state_dict (frozen backbone + LoRA deltas + head).
Source: NTIRE 2026 detector pilot, checkpoint-750 from the full run.
Files
model.safetensorsโ full state_dict (load withstrict=Falseafter wrapping the backbone in PEFT LoRA with the sametarget_modulesas training).trainer_state.jsonโ HF Trainer metadata (loss curve, lr schedule).
Loading
See ntire/scripts/predict.py for the canonical loader. In short:
from peft import LoraConfig, get_peft_model
from transformers import AutoModel
backbone = AutoModel.from_pretrained("facebook/dinov3-vit7b16-pretrain-lvd1689m", dtype=torch.bfloat16)
lora_cfg = LoraConfig(
r=16, lora_alpha=32, lora_dropout=0.0,
target_modules=["q_proj","k_proj","v_proj","o_proj","gate_proj","up_proj","down_proj"],
bias="none", task_type="FEATURE_EXTRACTION",
)
backbone = get_peft_model(backbone, lora_cfg)
# ...wrap in DinoV3BinaryClassifier, load state_dict, merge_and_unload()
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐ Ask for provider support
Model tree for DarrenJiaImbue/dinov3-7b-lora-ai-image-detection-v1
Base model
facebook/dinov3-vit7b16-pretrain-lvd1689m