Downloads · 30 days
5
12% of all-time downloads
alexha11/construction-tagger-soupR
construction-tagger-soupR is a machine learning model from alexha11. Use it for the machine learning task on the model card, and read the license before you ship it in a product. It is set up for peft.
Tags photographs from fibre/utility construction sites against a 29-term company taxonomy. LoRA adapter over Qwen/Qwen2.5-VL-3B-Instruct.
Downloads · 30 days
5
12% of all-time downloads
All-time downloads
41
Public
Repo size
1.9 GB
Likes
0
Public
Click a slice to open those files.
.safetensors1.9 GB · 99%
From the Hugging Face model README
Tags photographs from fibre/utility construction sites against a 29-term
company taxonomy. LoRA adapter over Qwen/Qwen2.5-VL-3B-Instruct.
This is not a single fine-tune. It is an exact weight-space mean of three
runs of the same recipe at seeds 42, 1337 and 7, formed by concatenating along
the rank axis so the stack computes the true mean of the three updates
(averaging the low-rank A and B factors separately would introduce cross terms
belonging to no model). Rank 96 rather than 32. merge_and_unload() folds it
into the base weights at load, so inference costs the same as a single adapter.
Micro-F1 on 283 held-out photographs, against labels a human reviewed image by image (445 corrections across train and test):
soupR (this model) 0.9018
seed 7 0.8833
seed 1337 0.8819
seed 42 0.8738
previous production model 0.8673
The adapter was trained under these and moves off its training distribution without them:
definitions prompt formatdo_sample=False)That last one matters most. The training labels encode 0.3/0.6 m boundaries, so a prompt stating the old 0.5/1.0 m ones contradicts them, which costs about 0.035 micro-F1.
from peft import PeftModel
from transformers import AutoProcessor, Qwen2_5_VLForConditionalGeneration
base = "Qwen/Qwen2.5-VL-3B-Instruct"
model = Qwen2_5_VLForConditionalGeneration.from_pretrained(base, dtype="bfloat16", device_map="cuda")
model = PeftModel.from_pretrained(model, "alexha11/construction-tagger-soupR").merge_and_unload()
processor = AutoProcessor.from_pretrained(base)
Live demo: https://alexha11-construction-tagger.static.hf.space