--- library_name: visbench tags: - visbench - probing - semantic_segmentation --- # semantic_segmentation probe for `dinov2_vitb14` A **trained probe head**, not a backbone. It is the small module VisBench fits on top of frozen `dinov2_vitb14` features to measure what those features carry. ```python import visbench from visbench.hub import load_probe_from_hub backbone = visbench.get_backbone("dinov2_vitb14") probe = load_probe_from_hub("turhancan97/visbench-semantic_segmentation-dinov2_vitb14", backbone=backbone) ``` ## It only works with this backbone These weights were fitted on features from `dinov2_vitb14`, taken with `pooling=mean` and `feature_mode=dense_only`. Loading them against anything else is refused, because the failure is otherwise silent: a head fitted on one pooling and fed another has the right shapes and produces a plausible, wrong number. | | | | --- | --- | | backbone | `dinov2_vitb14` | | backbone key | `dinov2/dinov2_vitb14/224/7764ea0f912e` | | task | `semantic_segmentation` (high_level) | | pooling | `mean` (requested `mean`) | | feature mode | `dense_only` | | layers | `None` | **Reported scores** | metric | value | | --- | --- | | `mean_acc` | 0.8403 | | `miou` | 0.7533 | | `miou_per_image` | 0.7161 | | `pixel_acc` | 0.9316 | ## Reproducing it Fitted with: - `batch_size`: `8` - `epochs`: `10` - `head`: `linear` - `hidden_dim`: `512` - `ignore_index`: `-1` - `layers`: `None` - `loss`: `cross_entropy` - `lr`: `0.0005` - `miou_reduction`: `dataset_and_per_image` - `num_classes`: `21` - `optimizer`: `adamw` - `protocol`: `visbench_semantic_seg` - `warmup_epochs`: `1.5` - `weight_decay`: `0.0001` Generated by [VisBench](https://github.com/turhancan97/VisBench).