Image Classification
OpenCLIP
Safetensors
English
fashion
attribute-extraction
product-attributes
catalog-enrichment
e-commerce
computer-vision
multi-label-classification
siglip
moda-ner
benchmark
reproducibility
fashionpedia
mit
Eval Results (legacy)
Instructions to use HopitAI/moda-ner-v-crop with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- OpenCLIP
How to use HopitAI/moda-ner-v-crop with OpenCLIP:
import open_clip model, preprocess_train, preprocess_val = open_clip.create_model_and_transforms('hf-hub:HopitAI/moda-ner-v-crop') tokenizer = open_clip.get_tokenizer('hf-hub:HopitAI/moda-ner-v-crop') - Notebooks
- Google Colab
- Kaggle
File size: 5,243 Bytes
c0355e8 333caae c0355e8 333caae c0355e8 333caae c0355e8 333caae c0355e8 333caae c0355e8 333caae c0355e8 d878a7f c0355e8 333caae | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 | ---
license: mit
library_name: open_clip
pipeline_tag: image-classification
base_model: HopitAI/moda-fashion-distilled
language:
- en
metrics:
- f1
- accuracy
datasets:
- detection-datasets/fashionpedia
tags:
- fashion
- attribute-extraction
- product-attributes
- catalog-enrichment
- e-commerce
- computer-vision
- image-classification
- multi-label-classification
- siglip
- moda-ner
- benchmark
- reproducibility
- fashionpedia
- mit
model-index:
- name: MODA_NER(V) Crop
results:
- task:
type: image-classification
name: Fashion attribute extraction
dataset:
type: moda-general-attribute-suite
name: MODA General Attribute Suite (crop track)
metrics:
- type: f1
value: 0.63
name: Attribute micro-F1
- type: f1
value: 0.6074
name: Field-macro F1
- type: accuracy
value: 0.8825
name: Category accuracy
- type: accuracy
value: 0.9215
name: Master-category accuracy
---
# MODA_NER(V) - Crop
> **Fix, 2026-09-19. If you ran this model before this date, re-run it.** The repository's
> `models/inference.py` ran the crop route with the wrong image preprocessing: OpenAI-CLIP
> normalisation and a centre crop, instead of the mean/std 0.5 squash this checkpoint was trained
> with. Its outputs did not match the published benchmark predictions, matching on 16 of 64
> held-out images. The weights in this repository are unchanged and correct. Pull the latest
> [Moda_ner](https://github.com/hopit-ai/Moda_ner) code and the Usage command below produces the
> published predictions. The benchmark numbers on this card were produced correctly.
*Tier `*` - open code, open weights.*
**Tier `*`** — open code, open weights. **Weights: MIT.**
Conditional attribute heads on our own frozen encoder (see Provenance below).
**Input contract:** one localized garment crop.
**Output:** 15 sparse fields — master category, category, sub-category, silhouette, hemline,
sleeve length and shape, neckline, collar presence and style, waist, material, surface
treatment, pattern, closure. No colour, no fit; the evaluation corpus for this track carries
no equivalent labels.
| | Attribute micro-F1 (crop track) |
|---|---:|
| **This released checkpoint** | **0.6300** |
| Same architecture on a frozen FashionSigLIP encoder | 0.6245 |
| Zero-shot open VLM reference (Qwen3-VL-8B) | 0.1805 |
| Zero-shot FashionSigLIP text prototypes | 0.1817 |
These are the weights that produced our published number: nothing is held back on this route.
Field-macro F1 is 0.6074, category accuracy 0.8825, master-category accuracy 0.9215.
Weak fields, stated because the micro average hides them: material 0.4148, plus surface
treatment, collar style, neckline and waist type. A headline of 0.6300 does not mean every
field is usable.
**Attribution.** The annotations behind this track are licensed CC BY 4.0 and require credit:
Jia et al., *Fashionpedia: Ontology, Segmentation, and an Attribute Localization Dataset*,
ECCV 2020. No images from that corpus are redistributed in the weights or the repository.
## Provenance
The encoder these heads run on is ours: [`HopitAI/moda-fashion-distilled`](https://huggingface.co/HopitAI/moda-fashion-distilled), MIT, already public. Nothing from another vendor is loaded at inference time.
That is worth stating plainly, because the comparator on this track is a FashionSigLIP-based system and it would be easy to assume this model is that system with heads attached. It is not. FashionSigLIP appears in two other roles:
- **As the distillation teacher.** An earlier ladder of checkpoints put conditional heads on frozen Marqo-FashionSigLIP. We distilled that system into our own encoder; the teacher is used during training and is not needed to serve.
- **As the baseline we measure against.** The comparator figure quoted above is that same FashionSigLIP-based system.
Lineage, stated once rather than implied: `moda-fashion-distilled` is itself a distilled student built on ViT-B/16-SigLIP, from a teacher ensemble that included our own DeepFashion2 fine-tune. Marqo-FashionSigLIP is Apache-2.0. The DeepFashion2 corpus is research-only, so we do not describe this pipeline as provenance-clean end to end.
**Credit for this model.** If you use these weights or report numbers from this track, cite
the MODA General Attribute Suite (see `CITATION.cff`). Scorers stamp the suite name and
version into every result file for exactly this reason.
## Links
- Benchmark tables and protocol: <https://hopit-ai.github.io/Moda_ner/>
- Code, scorers and prediction files: <https://github.com/hopit-ai/Moda_ner>
- All Hopit AI benchmarks: <https://hopit-ai.github.io/>
## Usage
The heads are not a `transformers` architecture, so load them through the suite
repository rather than `AutoModel`:
```bash
git clone https://github.com/hopit-ai/Moda_ner && cd Moda_ner
pip install -r requirements-inference.txt
huggingface-cli download HopitAI/moda-ner-v-crop --local-dir ./moda-ner-v-crop
python models/inference.py --route crop --model-dir ./moda-ner-v-crop --images photo.jpg
```
|