robbeta-models / README.md
jmigual's picture
Upload model
2ffe61c verified
|
Raw History Blame Contribute Delete
1.81 kB
---
license: apache-2.0
base_model: Marqo/marqo-fashionCLIP
library_name: litert
tags:
- litert
- tflite
- fashion
- image-feature-extraction
---
# Marqo-FashionCLIP image encoder, LiteRT dynamic int8
The image tower of [Marqo/marqo-fashionCLIP](https://huggingface.co/Marqo/marqo-fashionCLIP)
(revision `44f4c655124ed71e90cbf528d82f508d69d8a81b`), converted to LiteRT and quantised. The
Robbeta Android app downloads it to compare outfit photos with the clothes in a wardrobe, on
the phone.
| File | Bytes | SHA-256 |
|---|---|---|
| `marqo-fashionclip-image-dynint8-v1.tflite` | 88 160 672 | `8aa00548e4f7768f97c9c11f1130d646bd6c1cf6b980451b5e9609a8295427b6` |
A later model gets a new file name; this file never changes.
## Input and output
- Input `[1, 3, 224, 224]` float32, NCHW, RGB.
- Output `[1, 512]` float32, not normalised. Normalise it (L2) before taking cosines.
- Preprocessing, as open_clip does for this model: resize the shorter side to 224 with Pillow
bicubic, then centre-crop to 224 x 224 (Robbeta pads to a square first, so nothing is
cropped), scale to 0..1, subtract mean `(0.48145466, 0.4578275, 0.40821073)` and divide by std
`(0.26862954, 0.26130258, 0.27577711)`.
## How it was made
`litert-torch` 0.9.4 converted `model.visual` from open_clip 3.3.0 (torch 2.13.0) to a float32
`.tflite`; `ai-edge-quantizer` 0.9.0 then applied the `dynamic_wi8_afp32` recipe (int8 weights,
float activations, dynamic-range int8 matmuls). The script is `tools/matcher/convert.py` in the
Robbeta repository.
## Licence
Apache-2.0, the licence of the original model (see `LICENSE`). This file is a modified version
of Marqo-FashionCLIP's weights: converted to LiteRT and quantised to int8. Marqo-FashionCLIP is
by Marqo; see the original model card for its training data and evaluation.