roadwork-ft
Fine-tuned ViT image classifier for the NATIX Street Vision Bittensor subnet (SN72). Predicts whether a street-level image contains roadwork.
- Base model:
natix-network-org/roadwork - Labels:
{0: "None", 1: "Roadwork"} - Training data: subset of
natix-network-org/roadwork(validator's own corpus) - Augmentation during training: True (validator's
apply_augmentation_by_level) - Train / Val: 3230 / 358
- Epochs: 5, LR: 2e-05
Evaluation
| Metric | Value |
|---|---|
| eval_loss | 0.0922 |
| eval_accuracy | 0.9777 |
| eval_mcc | 0.9499 |
| eval_mcc_clamped | 0.9499 |
| eval_f1 | 0.9832 |
| eval_precision | 0.9791 |
| eval_recall | 0.9873 |
| eval_sim_reward | 0.8953 |
| eval_runtime | 8.1068 |
| eval_samples_per_second | 44.1600 |
| eval_steps_per_second | 0.7400 |
| epoch | 5.0000 |
Usage in the SN72 miner
# Option A: pin via env (no config edit needed)
export MINER_LOCAL_MODEL_DIR=/path/to/local/clone
# Option B: point hf_repo at this repo
# Edit base_miner/detectors/configs/ViT_roadwork.yaml:
# hf_repo: 'vuongnguyen92/roadwork-ft'
Direct inference
from transformers import AutoImageProcessor, AutoModelForImageClassification
from PIL import Image
import torch
processor = AutoImageProcessor.from_pretrained("vuongnguyen92/roadwork-ft")
model = AutoModelForImageClassification.from_pretrained("vuongnguyen92/roadwork-ft").eval()
img = Image.open("street.jpg").convert("RGB")
inputs = processor(images=img, return_tensors="pt")
with torch.inference_mode():
logits = model(**inputs).logits
prob_roadwork = torch.softmax(logits, dim=-1)[0, 1].item()
print(f"P(roadwork) = {prob_roadwork:.3f}")
- Downloads last month
- 27
Model tree for vuongnguyen92/roadwork-ft
Base model
natix-network-org/roadwork