🌿 CropCare: Fine-Tuned Multimodal LoRA Adapters for Potato Leaf Disease Diagnosis

Official model weights and fine-tuned LoRA adapters for the paper:
"Evidence-Bound Instruction Tuning for Potato Leaf Disease Classification: A Multi-Stage Vision-Language Pipeline"
by Haseeb Mehmood (Center for Machine Vision and Signal Analysis, University of Oulu).

πŸ”— GitHub Repository: https://github.com/Lethaldroid/CropCare-MLLM
πŸ“Š Kaggle Dataset: Potato Leaf Disease with AI-Generated Captions


πŸ† Benchmark Performance (Table V in Paper, $N=466$ Held-Out Images)

Model Architecture Parameters Method Strict Accuracy Early Blight Recall Late Blight Recall Multi-Label Adj. Macro F1
Gemma 4 26-a4b 26B (4B active) BF16 LoRA 92.1% 91.1% 93.2% 93.3% 92.0%
Qwen 3.8 27B dense BF16 LoRA 86.0% 88.3% 83.6% 92.1% 86.0%
Llama 3.2 Vision 90B cross-attn 4-bit QLoRA 85.4% 89.1% 81.3% 87.1% 85.4%
Mistral Small 3.1 24B dense 4-bit QLoRA 54.7% 98.8% 5.0% 58.1% 39.6%

πŸ“¦ Hosted Checkpoints & Adapters

This repository hosts the three best fine-tuned LoRA adapter packages:

  1. gemma4_31b_potato_best_lora.zip (1.79 GB):
    • Fine-tuned adapter for Gemma 4 26-a4b (google/gemma-4-26-a4b-it).
    • Achieves state-of-the-art 92.1% strict diagnostic accuracy and 92.0% Macro F1.
  2. llama32_vision_90b_potato_best_lora.zip (928 MB):
    • Fine-tuned adapter for Llama 3.2 Vision 90B (meta-llama/Llama-3.2-90B-Vision-Instruct).
  3. mistral_small_31_24b_potato_best_lora.zip (361 MB):
    • Fine-tuned adapter for Mistral Small 3.1 24B (mistralai/Mistral-Small-24B-Instruct-2501).

Each archive contains the complete PEFT adapter:

  • adapter_config.json
  • adapter_model.safetensors
  • chat_template.jinja
  • processor_config.json
  • tokenizer.json & tokenizer_config.json
  • training_args.bin

πŸš€ How to Load and Use

Unzip the target adapter and load it via Unsloth or PEFT / Transformers:

import zipfile
from unsloth import FastVisionModel

# 1. Unzip the downloaded adapter
with zipfile.ZipFile("gemma4_31b_potato_best_lora.zip", "r") as zip_ref:
    zip_ref.extractall("gemma4_lora_adapter")

# 2. Load the base model with the fine-tuned LoRA adapter
model, tokenizer = FastVisionModel.from_pretrained(
    model_name="gemma4_lora_adapter",
    load_in_4bit=True,
)
FastVisionModel.for_inference(model)

πŸ“– Citation

@article{cropcare2026evidence,
  title={Evidence-Bound Instruction Tuning for Potato Leaf Disease Classification: A Multi-Stage Vision-Language Pipeline},
  author={Mehmood, Haseeb},
  journal={Center for Machine Vision and Signal Analysis, University of Oulu},
  year={2026}
}
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support