Image Classification
OpenCLIP
Joblib
Safetensors
English
fashion
attribute-extraction
product-attributes
catalog-enrichment
e-commerce
computer-vision
multi-label-classification
siglip
moda-ner
benchmark
reproducibility
non-commercial
applicability
Eval Results (legacy)
Instructions to use HopitAI/moda-ner-v-fullbody with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- OpenCLIP
How to use HopitAI/moda-ner-v-fullbody with OpenCLIP:
import open_clip model, preprocess_train, preprocess_val = open_clip.create_model_and_transforms('hf-hub:HopitAI/moda-ner-v-fullbody') tokenizer = open_clip.get_tokenizer('hf-hub:HopitAI/moda-ner-v-fullbody') - Notebooks
- Google Colab
- Kaggle
|
Download README.md from HopitAI/moda-ner-v-fullbody: direct link, hf CLI and curl.
- Browser
- Download file 5.24 kB
-
https://huggingface.co/HopitAI/moda-ner-v-fullbody/resolve/main/README.md
- Command line
-
hf download hf://HopitAI/moda-ner-v-fullbody/README.md
-
curl -L -o README.md https://huggingface.co/HopitAI/moda-ner-v-fullbody/resolve/main/README.md
5.24 kB
| license: cc-by-nc-4.0 | |
| library_name: open_clip | |
| pipeline_tag: image-classification | |
| base_model: HopitAI/moda-fashion-distilled | |
| language: | |
| - en | |
| metrics: | |
| - f1 | |
| - accuracy | |
| tags: | |
| - fashion | |
| - attribute-extraction | |
| - product-attributes | |
| - catalog-enrichment | |
| - e-commerce | |
| - computer-vision | |
| - image-classification | |
| - multi-label-classification | |
| - siglip | |
| - moda-ner | |
| - benchmark | |
| - reproducibility | |
| - non-commercial | |
| - applicability | |
| model-index: | |
| - name: MODA_NER(V) Full-body | |
| results: | |
| - task: | |
| type: image-classification | |
| name: Fashion attribute extraction | |
| dataset: | |
| type: moda-general-attribute-suite | |
| name: MODA General Attribute Suite (fullbody track) | |
| metrics: | |
| - type: f1 | |
| value: 0.6917 | |
| name: Tier-1 macro-F1 | |
| - type: f1 | |
| value: 0.6637 | |
| name: Tier-2 N/A-F1 | |
| - type: f1 | |
| value: 0.5785 | |
| name: Tier-3 visible macro-F1 | |
| # MODA_NER(V) - Full-body | |
| > **Fix, 2026-09-19. If you ran this model before this date, re-run it.** The repository's | |
| > `models/inference.py` ran the full-body 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 none 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. Licence: CC BY-NC 4.0.* | |
| **Tier `*`** — open code, open weights. **Weights: CC BY-NC 4.0.** | |
| Eighteen class-balanced heads with an explicit N/A class, on our own frozen encoder (see Provenance below). | |
| **Input contract:** one full-body fashion photograph. | |
| **Output:** upper, lower and outer fabric; upper, lower and outer pattern; neckline; sleeve | |
| length; lower-garment length; cardigan; navel coverage; hat; glasses; neckwear; waist | |
| accessories; wrist accessories; ring; socks or leggings. Every field can return N/A, and N/A | |
| is scored as a real class rather than treated as a negative. | |
| | Measure (fullbody track) | Published | Strongest external open baseline | Paired 95% CI | | |
| |---|---:|---:|---:| | |
| | Tier-1 macro-F1 | 0.6917 | 0.5943 | [+0.0891, +0.1053] | | |
| | Tier-2 N/A-F1 | 0.6637 | 0.6088 | [+0.0433, +0.0657] | | |
| | Tier-3 visible macro-F1 | 0.5785 | 0.4969 | [+0.0723, +0.0905] | | |
| **These are the weights that produced the published numbers above** (run `...linear-probe-v7-20260810`, recorded in `training_commitment.json`). Evaluated on a fresh product-group-disjoint | |
| split: 5,000 images, 1,751 groups, zero overlap with any prior experiment. Per-field range is | |
| wide (0.3287 to 0.9187) — read the per-field table before relying on a single field. | |
| **Why non-commercial.** Same as the catalog route: the evaluation corpus is research-only and | |
| its terms extend to derived data. These weights are not in Hopit's hosted product. Commercial | |
| deployments are fine-tuned on customer data instead. | |
| ## 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. (Recorded in the programme documentation; we re-confirm it against this track's frozen artifacts before release.) | |
| 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.** CC BY-NC requires attribution. Cite the MODA General Attribute | |
| Suite (`CITATION.cff`). | |
| ## 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-fullbody --local-dir ./moda-ner-v-fullbody | |
| python models/inference.py --route fullbody --model-dir ./moda-ner-v-fullbody --images photo.jpg | |
| ``` | |