You need to agree to share your contact information to access this model

This repository is publicly accessible, but you have to accept the conditions to access its files and content.

Log in or Sign Up to review the conditions and access this model content.

eastrus-vl-qwen3-2b

A fine-tuned multimodal (vision-language) model based on Qwen3-VL-2B-Instruct, trained for cattle estrus-related vulval image assessment. The model produces symptom-by-symptom observations and a single confidence-style score, rather than a hard binary decision.

This repo contains the fully merged model weights in Hugging Face Transformers format (16-bit). For a quantized GGUF version for use with llama.cpp, see the companion repo.

Model details

  • Base model: Qwen3-VL-2B-Instruct (VLM)
  • Fine-tuning: Unsloth (LoRA, merged back into base weights)
  • Format: Hugging Face Transformers (safetensors, 16-bit)

Intended use

  • Primary: Assistive analysis of cattle vulval imagery for estrus-related visual signs (educational/research workflow support).
  • Not a medical device: Outputs should not be used as the sole basis for veterinary diagnosis, treatment, or critical farm management decisions.

Output format

The model generates:

  • A structured, human-readable symptom list (mucus color, swelling severity, redness severity, moisture level, mucus viscosity, tissue turgidity)
  • A single confidence-style score (0-100%)
  • A JSON structured summary of all observed symptoms

How to run (Transformers)

from transformers import AutoModelForImageTextToText, AutoProcessor
from PIL import Image

model = AutoModelForImageTextToText.from_pretrained("prapaa/eastrus-vl-qwen3-2b", torch_dtype="auto", device_map="auto")
processor = AutoProcessor.from_pretrained("prapaa/eastrus-vl-qwen3-2b")

image = Image.open("cow.jpg")
messages = [
    {"role": "system", "content": [{"type": "text", "text": "You are an expert veterinary AI..."}]},
    {"role": "user", "content": [
        {"type": "image", "image": image},
        {"type": "text", "text": "Analyze this cattle vulval image."},
    ]},
]
text = processor.apply_chat_template(messages, add_generation_prompt=True)
inputs = processor(images=[image], text=[text], return_tensors="pt").to(model.device)
output = model.generate(**inputs, max_new_tokens=384)
print(processor.decode(output[0], skip_special_tokens=True))
Downloads last month
9
Safetensors
Model size
2B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for prapaa/eastrus-vl-qwen3-2b

Adapter
(33)
this model

Dataset used to train prapaa/eastrus-vl-qwen3-2b