Neelesh-Babu commited on
Commit
9f50d4c
·
verified ·
1 Parent(s): 2217db5

Match approved DINO minimal schema-v3 public package layout

Browse files
README.md CHANGED
@@ -1,6 +1,5 @@
1
  ---
2
  pipeline_tag: feature-extraction
3
- base_model: openai/clip-vit-base-patch32
4
  tags:
5
  - eidora
6
  - eidora-model-zoo
@@ -8,94 +7,101 @@ tags:
8
  - onnxruntime
9
  - embeddings
10
  - image
 
11
  - clip
12
- - vit
13
  ---
14
 
15
  # CLIP ViT-B/32 Image Medium
16
 
17
- CLIP ViT-B/32 Image Medium is a medium image embedding model whose vectors are aligned with text, making it useful for semantic collection discovery and a natural starting point for future text-to-image search in EIDORA.
18
-
19
- ## Source and provenance
20
-
21
- - Base model/checkpoint: `openai/clip-vit-base-patch32`
22
- - Source: https://huggingface.co/openai/clip-vit-base-patch32
23
- - Original model: CLIP ViT-B/32
24
- - Architecture paper: https://arxiv.org/abs/2103.00020
25
- - Training data: Publicly available image-caption data collected from the internet; the exact training dataset was not released.
26
-
27
- ## EIDORA package
28
-
29
- - Package schema: `3` (Desktop preparation implementation `1`)
30
- - Declared providers: `CPUExecutionProvider`
31
- - Provider declarations require certification in validation-report.json before publication.
32
- - Preparation runs in EIDORA; exposed defaults are recommended, alternatives are not equivalent-quality claims.
33
- - Modality: `image`
34
- - Embedding dimensions: `512`
35
- - Normalized: `true`
36
- - Similarity: `cosine`
37
-
38
- ## Preparation
39
-
40
- ```yaml
41
- width: 224
42
- height: 224
43
- layout: NCHW
44
- resize: short_edge_crop
45
- resize_rounding: truncate
46
- interpolation: bicubic
47
- rescale: 0.00392156862745098
48
- mean:
49
- - 0.48145466
50
- - 0.4578275
51
- - 0.40821073
52
- std:
53
- - 0.26862954
54
- - 0.26130258
55
- - 0.27577711
56
- alpha_background:
57
- - 0
58
- - 0
59
- - 0
60
- short_edge: 224
61
- parameters:
62
- resize:
63
- default: short_edge_crop
64
- choices:
65
- - stretch
66
- - fill_crop
67
- - fit_pad
68
- - short_edge_crop
69
- interpolation:
70
- default: bicubic
71
- choices:
72
- - nearest
73
- - bilinear
74
- - bicubic
75
- - lanczos
76
- crop_position:
77
- default: center
78
- short_edge:
79
- default: 224
80
- minimum: 224
81
- maximum: 2048
82
- ```
83
 
84
- ## Intended use
85
 
86
- - Semantic image grouping and retrieval.
87
- - Cultural collections where future text-to-image or multimodal search is important.
88
- - Comparing language-aligned similarity with purely visual DINO and CNN embeddings.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
89
 
90
  ## Limitations
91
 
92
- CLIP's training data are internet-derived and its own model card warns that task-specific testing is necessary. Cultural collections can differ strongly from its training distribution, and its image embeddings are shaped by language supervision. Use it as one view of similarity and compare against visual-only models.
 
 
 
 
 
 
 
 
93
 
94
- ## License and attribution
95
 
96
- Converted from OpenAI CLIP ViT-B/32. Review the upstream model card and weight-redistribution terms before public release.
97
 
98
- ## Citation
 
 
99
 
100
  ```bibtex
101
  @inproceedings{radford2021learning,
@@ -106,12 +112,21 @@ Converted from OpenAI CLIP ViT-B/32. Review the upstream model card and weight-r
106
  }
107
  ```
108
 
109
- ## EIDORA CLIP Variant Selection
 
 
 
 
110
 
111
- Accepts images only. Produces normalized 512-dimensional CLIP image embeddings.
112
 
113
- Related variants:
 
 
 
 
 
 
 
114
 
115
- - **Image:** https://huggingface.co/EIDORA/CLIP_ViTB32_Image
116
- - **Text:** https://huggingface.co/EIDORA/CLIP_ViTB32_Text
117
- - **Multimodal:** https://huggingface.co/EIDORA/CLIP_ViTB32_Multimodal
 
1
  ---
2
  pipeline_tag: feature-extraction
 
3
  tags:
4
  - eidora
5
  - eidora-model-zoo
 
7
  - onnxruntime
8
  - embeddings
9
  - image
10
+ - modality:image
11
  - clip
12
+ base_model: openai/clip-vit-base-patch32
13
  ---
14
 
15
  # CLIP ViT-B/32 Image Medium
16
 
17
+ CLIP ViT-B/32 learns visual features in a representation space shared with text. This package exposes its normalized 512-dimensional image encoder only.
18
+
19
+ ## Training Data and Checkpoint Provenance
20
+
21
+ - **Architecture:** CLIP Vision Transformer Base with 32-pixel patches (ViT-B/32).
22
+ - **Original checkpoint:** [openai/clip-vit-base-patch32](https://huggingface.co/openai/clip-vit-base-patch32).
23
+ - **Pinned revision:** `b97b0100e55e367c057773c2a614676470b0d575`.
24
+ - **Training data:** Publicly available image-caption data collected from the internet; the exact training dataset was not released.
25
+ - **Training method:** Contrastive image–text pretraining; the exact upstream image–caption dataset was not released.
26
+ - **Source:** CLIP ViT-B/32 (original author attribution retained).
27
+
28
+ CLIP alignment relies on both encoders originating from the same upstream checkpoint and revision.
29
+
30
+ ## Model Overview
31
+
32
+ - **Model:** CLIP ViT-B/32 Image Medium
33
+ - **EIDORA identifier:** `eidora/image-clip-vit-b32-medium`
34
+ - **Modality:** Image
35
+ - **Embedding dimensions:** 512
36
+ - **Embedding normalization:** L2-normalized
37
+ - **Similarity measure:** Cosine similarity
38
+ - **Package schema:** Version 3
39
+ - **Model version:** `0.1.0`
40
+
41
+ ## EIDORA Use and Supported Modalities
42
+
43
+ **Supported modality:** Images only.
44
+
45
+ Researchers can use this package to:
46
+
47
+ - Embed images for semantic collection discovery.
48
+ - Compare image vectors with vectors from the corresponding CLIP Text model.
49
+ - Contrast language-aligned features with visual-only CNN and DINO representations.
50
+
51
+ Available EIDORA variants of the same checkpoint:
52
+
53
+ - **Image:** [CLIP Image](https://huggingface.co/EIDORA/CLIP_ViTB32_Image) — image inputs only.
54
+ - **Text:** [CLIP Text](https://huggingface.co/EIDORA/CLIP_ViTB32_Text) — text inputs only.
55
+ - **Multimodal:** [CLIP Multimodal](https://huggingface.co/EIDORA/CLIP_ViTB32_Multimodal) — image and text inputs combined by EIDORA.
56
+
57
+ The image-only repository does not accept a text input.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
58
 
59
+ ## Input and Preprocessing
60
 
61
+ EIDORA prepares the image before inference:
62
+
63
+ 1. Convert to RGB.
64
+ 2. Resize the shorter side to 224 pixels, then take a center crop of **224 × 224**.
65
+ 3. Use **bicubic** interpolation. Use **truncate** dimension rounding.
66
+ 4. Rescale by `0.00392156862745098` and normalize each RGB channel.
67
+ 5. Arrange the tensor in `NCHW` layout and pass `float32` `pixel_values` with shape `[batch, 3, 224, 224]`.
68
+
69
+ **Mean:** `[0.48145466, 0.4578275, 0.40821073]`
70
+ **Standard deviation:** `[0.26862954, 0.26130258, 0.27577711]`
71
+
72
+ Normalization is performed by EIDORA and should not be applied a second time. The defaults in `config.yaml` determine the documented embedding behavior; alternate settings may change the vectors.
73
+
74
+ ## Output Embeddings
75
+
76
+ The ONNX output is `float32` with shape `['batch', 512]`. Each vector has **512 dimensions**, is **L2-normalized**, and is intended for **cosine similarity** comparisons.
77
+
78
+ EIDORA uses the CLIP visual pooled projection and applies L2 normalization. The packaged graph expects images that EIDORA has already normalized.
79
+
80
+ ## Runtime and Compatibility
81
+
82
+ The package uses `model.onnx` and schema-v3 runtime declarations for image preparation and embedding output.
83
+
84
+ It declares **`CPUExecutionProvider`**. Actual execution availability depends on the installed ONNX Runtime and EIDORA Desktop environment. `config.yaml` is authoritative for graph inputs, preprocessing, provider and embedding dimensions.
85
 
86
  ## Limitations
87
 
88
+ - The checkpoint is trained on internet-derived image–text pairs and may encode biases.
89
+ - Image–text correspondence scores are not statements of factual accuracy or identity.
90
+ - This package does not accept text; use the sibling Text or Multimodal model as appropriate.
91
+
92
+ Results should be evaluated against the intended research data and questions.
93
+
94
+ ## Research Context and References
95
+
96
+ ### Main paper
97
 
98
+ **Learning Transferable Visual Models From Natural Language Supervision**
99
 
100
+ Paper: https://arxiv.org/abs/2103.00020
101
 
102
+ The publication describes the upstream learning method and original model. The embeddings returned by EIDORA additionally depend on the specific preprocessing and output adaptation documented here.
103
+
104
+ ### Primary citation (BibTeX)
105
 
106
  ```bibtex
107
  @inproceedings{radford2021learning,
 
112
  }
113
  ```
114
 
115
+ ## License and Attribution
116
+
117
+ The OpenAI CLIP source repository publishes MIT-licensed software. The linked upstream checkpoint information does not establish an independent weight license, so the MIT code license is not presented as one. EIDORA attributes the original checkpoint and research to OpenAI.
118
+
119
+ No separate upstream checkpoint `LICENSE` file was supplied in the captured EIDORA repository; that absence should not be interpreted as permission or prohibition.
120
 
121
+ ## Package Information
122
 
123
+ - **Model repository:** `EIDORA/CLIP_ViTB32_Image`
124
+ - **Package version:** `0.1.0`
125
+ - **Package schema:** `3`
126
+ - **EIDORA configuration:** `config.yaml`
127
+ - **ONNX graph(s):** `model.onnx`
128
+ - **Supported modality:** Image
129
+ - **License identifier:** `other`
130
+ - **Declared provider:** CPUExecutionProvider
131
 
132
+ The configuration defines the authoritative model-facing runtime contract. Other packaged assets, where present, do not introduce additional inference modalities.
 
 
config.yaml CHANGED
@@ -12,33 +12,9 @@ bibtex: "@inproceedings{radford2021learning,\n title={Learning Transferable Vis
12
  compatibility:
13
  min_eidora_version: 0.1.0
14
  artifacts:
15
- - path: README.md
16
- sha256: c080786beb305c66b51eb8ebf2bff16488ce7a2b4d55e4af7370612a4ec86c8c
17
- role: asset
18
- - path: conversion_report.json
19
- sha256: 16bc64c1fe16ae1fa9a0ddec9eadab4a1968e91251cf740563d3bd7908c3eb73
20
- role: asset
21
  - path: model.onnx
22
  sha256: e7b31f500e645350c2bb0ade2a506e3d9557b2b75338e7941cf4d4db51ee29de
23
  role: graph
24
- - path: validation/embedding.npy
25
- sha256: 4557f61170cbeadf8b82a6aedc7df3e2f5b70c55c1b02c63f16e26ce1b3224a9
26
- role: asset
27
- - path: validation/photo.png
28
- sha256: 1d70a03fc99c16e3aa674dbb9c7a8d0c127b45e1cf416118131451932b2f2389
29
- role: asset
30
- - path: validation/pixels.npy
31
- sha256: 49e3049b432634bb2d8c33a78f7a63404e5e9961016b7dd71156cb4a840ce7f3
32
- role: asset
33
- - path: validation/random_image.npy
34
- sha256: 2e7b24b32c98c0ae8c05f508b9b037c6c3e51b0ba35405e5f2594604c3acbf48
35
- role: asset
36
- - path: validation/source_parity.json
37
- sha256: b0b11dcf05aa4f4cfcfdd0e65bc907c825d6266c2ccc3082f0c1b10041997b9c
38
- role: asset
39
- - path: validation.yaml
40
- sha256: 91e0f9f79768b3a6c18904ccc7484f9867cd3eb967b2fec19c397ce8cf220db3
41
- role: asset
42
  runtime:
43
  graph: model.onnx
44
  inputs:
 
12
  compatibility:
13
  min_eidora_version: 0.1.0
14
  artifacts:
 
 
 
 
 
 
15
  - path: model.onnx
16
  sha256: e7b31f500e645350c2bb0ade2a506e3d9557b2b75338e7941cf4d4db51ee29de
17
  role: graph
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
  runtime:
19
  graph: model.onnx
20
  inputs:
conversion_report.json DELETED
@@ -1,18 +0,0 @@
1
- {
2
- "converter": "hf_clip_vit_b32_image",
3
- "embedding_dimensions": 512,
4
- "input_name": "pixel_values",
5
- "opset": 17,
6
- "output_name": "embedding",
7
- "schema_version": 1,
8
- "source_framework": "pytorch",
9
- "source_vs_onnx": {
10
- "atol": 0.0001,
11
- "max_abs_error": 1.9371509552001953e-07,
12
- "mean_abs_error": 3.901260825500685e-08,
13
- "onnxruntime_version": "1.30.0",
14
- "rtol": 0.001,
15
- "status": "passed"
16
- },
17
- "torch_version": "2.14.0+cu130"
18
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
validation-report.json DELETED
@@ -1,26 +0,0 @@
1
- {
2
- "desktop_version": "0.2.0",
3
- "schema_version": 3,
4
- "preparation_version": 2,
5
- "providers": {
6
- "CPUExecutionProvider": {
7
- "status": "passed",
8
- "fixture_runs": 19,
9
- "scope": "session provider chain; CPU graph-node support allowed",
10
- "environment": {
11
- "onnxruntime": "1.31.0",
12
- "platform": "Linux-7.0.0-38-generic-x86_64-with-glibc2.43",
13
- "python": "3.13.16 (main, Oct 9 2026, 15:23:36) [Clang 22.1.3 ]"
14
- }
15
- }
16
- },
17
- "environment": {
18
- "onnxruntime": "1.31.0",
19
- "platform": "Linux-7.0.0-38-generic-x86_64-with-glibc2.43",
20
- "python": "3.13.16 (main, Oct 9 2026, 15:23:36) [Clang 22.1.3 ]"
21
- },
22
- "publication_ready": true,
23
- "validation_sha256": "06483a29bad05a7cf68ebe2649019ff292fbf41a34480f1ce59a8479fd3d8542",
24
- "contract_sha256": "65c20b19452a5cedc6874434d8379a280d6c9b4343a4deab6d9772d93ee8d6b0",
25
- "package_sha256": "e7496600fb53ceb312ba38ffd0f34ebf4d4a4b09bf2ad46377d5914462b65adb"
26
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
validation.yaml DELETED
@@ -1,21 +0,0 @@
1
- diagnostic_fixtures:
2
- - id: random_image
3
- path: validation/random_image.npy
4
- input_shape:
5
- - 1
6
- - 3
7
- - 224
8
- - 224
9
- expected_shape:
10
- - 1
11
- - 512
12
- seed: 17
13
- fixtures:
14
- - modality: image
15
- path: validation/photo.png
16
- expected_tensors:
17
- pixel_values: validation/pixels.npy
18
- expected_vectors: validation/embedding.npy
19
- note: Publication requires real-media fixtures with source-reference expected_tensors
20
- and expected_vectors, copied using assets. Synthetic diagnostic fixtures do not
21
- certify compatibility.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
validation/embedding.npy DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:4557f61170cbeadf8b82a6aedc7df3e2f5b70c55c1b02c63f16e26ce1b3224a9
3
- size 2176
 
 
 
 
validation/photo.png DELETED

Git LFS Details

  • SHA256: 1d70a03fc99c16e3aa674dbb9c7a8d0c127b45e1cf416118131451932b2f2389
  • Pointer size: 131 Bytes
  • Size of remote file: 303 kB
validation/pixels.npy DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:49e3049b432634bb2d8c33a78f7a63404e5e9961016b7dd71156cb4a840ce7f3
3
- size 602240
 
 
 
 
validation/random_image.npy DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:2e7b24b32c98c0ae8c05f508b9b037c6c3e51b0ba35405e5f2594604c3acbf48
3
- size 602240
 
 
 
 
validation/source_parity.json DELETED
@@ -1,14 +0,0 @@
1
- {
2
- "model": "CLIP Image ViT-B/32",
3
- "source_checkpoint": "openai/clip-vit-base-patch32",
4
- "image_sha256": "1d70a03fc99c16e3aa674dbb9c7a8d0c127b45e1cf416118131451932b2f2389",
5
- "onnx_sha256": "e7b31f500e645350c2bb0ade2a506e3d9557b2b75338e7941cf4d4db51ee29de",
6
- "preprocessing_max_abs_error": 4.76837158203125e-07,
7
- "embedding_max_abs_error": 3.119930624961853e-07,
8
- "cosine_similarity": 0.9999999403953552,
9
- "output_shape": [
10
- 1,
11
- 512
12
- ],
13
- "status": "passed"
14
- }