kordelfrance commited on
Commit
b6e3a15
·
verified ·
1 Parent(s): 5662e99

Upload folder using huggingface_hub

Browse files
README.md CHANGED
@@ -38,7 +38,8 @@ base_model: Scentience-OVL-Embeddings-Base
38
 
39
  ## Description
40
 
41
- This repository is the first-ever series of multimodal joint embedding models trained on olfaction, vision, and language data specifically for tasks in robotics and embodied artificial intelligence.
 
42
 
43
 
44
  To the best of our knowledge, there are currently no open-source datasets that provide aligned olfactory, visual, and linguistic annotations, making this the first.
@@ -55,9 +56,9 @@ Whether these models are used for better vision-scent navigation with drones, tr
55
  ## Models
56
  We offer four olfaction-vision-language (OVL) embedding models with this repository:
57
  - (1) `ovle-large-base`: The original OVL base model. This model is optimal for online tasks where accuracy is critical.
58
- - (2) `ovle-large-graph`: The OVL base model built around a graph-attention-convolution network. This model is optimal for online tasks where accuracy is paramount and inference time is not as critical.
59
  - (3) `ovle-small-base`: The original OVL base model optimized for faster inference and edge-based robotics. This model is optimized for export to common frameworks that run on Android, iOS, Rust, and others.
60
- - (4) `ovle-small-graph`: The OVL graph-attention-convolution model optimized for faster inference and edge robotics applications.
61
 
62
  ## Training Data
63
  A sample dataset is included, but the full datasets are linked in the `Datasets` pane of this repo.
 
38
 
39
  ## Description
40
 
41
+ This repository is a foundational series of multimodal joint embedding models trained on olfaction, vision, and language data.
42
+ These models are built specifically for prototyping and exploratory tasks within AR/VR, robotics, and embodied artificial intelligence.
43
 
44
 
45
  To the best of our knowledge, there are currently no open-source datasets that provide aligned olfactory, visual, and linguistic annotations, making this the first.
 
56
  ## Models
57
  We offer four olfaction-vision-language (OVL) embedding models with this repository:
58
  - (1) `ovle-large-base`: The original OVL base model. This model is optimal for online tasks where accuracy is critical.
59
+ - (2) `ovle-large-gat`: The OVL base model built around a graph-attention-convolution network. This model is optimal for online tasks where accuracy is paramount and inference time is not as critical.
60
  - (3) `ovle-small-base`: The original OVL base model optimized for faster inference and edge-based robotics. This model is optimized for export to common frameworks that run on Android, iOS, Rust, and others.
61
+ - (4) `ovle-small-gat`: The OVL graph-attention-convolution model optimized for faster inference and edge robotics applications.
62
 
63
  ## Training Data
64
  A sample dataset is included, but the full datasets are linked in the `Datasets` pane of this repo.
model/ovle-large/base/gnn_2048.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6f09870edab48b3a268f67cd59d6fcb0999b5e564d58349b5d96a53a10ba4778
3
+ size 117501257
model/ovle-large/base/gnn_2048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4b515ad6d6ff83bdd3bf21729bb9f9a2895557d4e7decab60dc82b5f4b5c18c3
3
+ size 100713428
model/ovle-large/base/olf_encoder_2048.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0a01392bbfe4cdc14de5d39c4a32fc429de56dd98d5881d48846771711e88d87
3
+ size 2138537
model/ovle-large/base/olf_encoder_2048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a563630e0ed987db639dfd450ee4c4831ea2a15844ed9d8d7f6bd798e99b6987
3
+ size 2123960
model/ovle-large/gat/gnn_gat_2048.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4c1f4b5f55565b53bf68482c42ebde9221c9a933e8f9d45dc1c894fc55102321
3
+ size 570948421
model/ovle-large/gat/gnn_gat_2048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:284de5244a2c83a51c82f1a15ea2324cdc7e34fdc7006227f0a7b2fc7fce635c
3
+ size 537297732
model/ovle-large/gat/olf_encoder_gat_2048.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ce87939ab0c5ca4b8394b33149d68ba0d176f045030ca8504db0e35534a7a0d2
3
+ size 2138889
model/ovle-large/gat/olf_encoder_gat_2048.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c354b23e7e4181308800a1afd35789b91f1ec31b08eb5dd95565ae2a5bd0d442
3
+ size 2123960
model/ovle-small/base/gnn_512.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:495f83e249b82415e45d4a1157c23a8eb7d6037247ac90ad407916d65ef3cbf7
3
+ size 7363884
model/ovle-small/base/gnn_512.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b75424968155035ae6ba2207a351dcdb7a7de396901c9321c6eef8e38e831f09
3
+ size 6304684
model/ovle-small/base/olf_encoder_512.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fcbb51a6ef79cb1ce3c7c7a666baba9daa965ac464f9365ae94c41ce820b4669
3
+ size 1284474
model/ovle-small/base/olf_encoder_512.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4ccfbdbc16a72894a889eff76c45929483dc10ed68c29eed0812abcf9fe8bdcd
3
+ size 1269944
model/ovle-small/gat/gnn_gat_512.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:14cf669fe71b766e20620353d015d7eee35931f762508af74c1cf3848ef14a98
3
+ size 35848956
model/ovle-small/gat/gnn_gat_512.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3336b820a021d0f1fccd34022431307779f39b3ddefc6decf30e706b9e457fd5
3
+ size 33661740
model/ovle-small/gat/olf_encoder_gat_512.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9b611b0b92403200bd4cb65c3cff483cd7c7c07b6b483ecb4f3f0a716dda2f67
3
+ size 1284826
model/ovle-small/gat/olf_encoder_gat_512.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5da86d1ac27af8eeb01096a6dfbd04459dbe65b2ae84cf6670f413b38ff1f2c5
3
+ size 1269944
model_cards/ovle-large.md CHANGED
@@ -10,7 +10,8 @@
10
  - **Vision encoder:** CLIP-based
11
  - **Language encoder:** CLIP-based
12
  - **Fusion strategy:** Joint embedding space via multimodal contrastive training
13
- - **Parameter Count:** 134.9M (without CLIP), 286.1M (with CLIP)
 
14
  - **Embedding Dimension:** 2048
15
  - **License:** MIT
16
 
10
  - **Vision encoder:** CLIP-based
11
  - **Language encoder:** CLIP-based
12
  - **Fusion strategy:** Joint embedding space via multimodal contrastive training
13
+ - **Parameter Count (Base):** 29.9M (without CLIP), 181.2M (with CLIP)
14
+ - **Parameter Count (GAT):** 143.2M (without CLIP), 294.5M (with CLIP)
15
  - **Embedding Dimension:** 2048
16
  - **License:** MIT
17
model_cards/ovle-small.md CHANGED
@@ -10,7 +10,8 @@
10
  - **Vision encoder:** CLIP-based
11
  - **Language encoder:** CLIP-based
12
  - **Fusion strategy:** Joint embedding space via multimodal contrastive training
13
- - **Parameter Count:** 8.7M (without CLIP), 160.0M (with CLIP)
 
14
  - **Embedding Dimension:** 512
15
  - **License:** MIT
16
 
10
  - **Vision encoder:** CLIP-based
11
  - **Language encoder:** CLIP-based
12
  - **Fusion strategy:** Joint embedding space via multimodal contrastive training
13
+ - **Parameter Count (Base):** 2.2M (without CLIP), 153.4M (with CLIP)
14
+ - **Parameter Count (GAT):** 9.3M (without CLIP), 160.5M (with CLIP)
15
  - **Embedding Dimension:** 512
16
  - **License:** MIT
17
notebooks/olfaction_vision_language_embeddings_inference.ipynb CHANGED
@@ -43,7 +43,7 @@
43
  },
44
  {
45
  "cell_type": "code",
46
- "execution_count": 1,
47
  "metadata": {
48
  "id": "cxabQxw9LSzM",
49
  "colab": {
@@ -161,13 +161,13 @@
161
  "DEVICE = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")\n",
162
  "BATCH_SIZE = 16\n",
163
  "EMBED_DIM = 512 # Embedding dims = 512 for small, 2048 for large\n",
164
- "ENCODER_FILE_PATH = \"./olf_encoder.safetensors\"\n",
165
- "GNN_FILE_PATH = \"./gnn.safetensors\""
166
  ],
167
  "metadata": {
168
  "id": "BHUd6n3bLbqo"
169
  },
170
- "execution_count": 2,
171
  "outputs": []
172
  },
173
  {
@@ -219,7 +219,7 @@
219
  "metadata": {
220
  "id": "UzhGG8CzMmBs"
221
  },
222
- "execution_count": 3,
223
  "outputs": []
224
  },
225
  {
@@ -235,8 +235,8 @@
235
  "cell_type": "code",
236
  "source": [
237
  "# Load the models\n",
238
- "olf_encoder = load_file(ENCODER_FILE_PATH)\n",
239
- "graph_model = load_file(GNN_FILE_PATH)\n",
240
  "clip_model = CLIPModel.from_pretrained(\"openai/clip-vit-base-patch32\").to(DEVICE)\n",
241
  "\n",
242
  "# Build example vision-olfaction sample with dummy data\n",
@@ -257,7 +257,7 @@
257
  "metadata": {
258
  "id": "_U5qqxn8Mibo"
259
  },
260
- "execution_count": 4,
261
  "outputs": []
262
  }
263
  ]
 
43
  },
44
  {
45
  "cell_type": "code",
46
+ "execution_count": null,
47
  "metadata": {
48
  "id": "cxabQxw9LSzM",
49
  "colab": {
 
161
  "DEVICE = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")\n",
162
  "BATCH_SIZE = 16\n",
163
  "EMBED_DIM = 512 # Embedding dims = 512 for small, 2048 for large\n",
164
+ "ENCODER_FILE_PATH = \"./olf_encoder.pt\"\n",
165
+ "GNN_FILE_PATH = \"./gnn.pt\""
166
  ],
167
  "metadata": {
168
  "id": "BHUd6n3bLbqo"
169
  },
170
+ "execution_count": null,
171
  "outputs": []
172
  },
173
  {
 
219
  "metadata": {
220
  "id": "UzhGG8CzMmBs"
221
  },
222
+ "execution_count": null,
223
  "outputs": []
224
  },
225
  {
 
235
  "cell_type": "code",
236
  "source": [
237
  "# Load the models\n",
238
+ "olf_encoder = torch.jit.load(ENCODER_FILE_PATH)\n",
239
+ "graph_model = torch.jit.load(GNN_FILE_PATH)\n",
240
  "clip_model = CLIPModel.from_pretrained(\"openai/clip-vit-base-patch32\").to(DEVICE)\n",
241
  "\n",
242
  "# Build example vision-olfaction sample with dummy data\n",
 
257
  "metadata": {
258
  "id": "_U5qqxn8Mibo"
259
  },
260
+ "execution_count": null,
261
  "outputs": []
262
  }
263
  ]
requirements.txt CHANGED
@@ -1,608 +1,24 @@
1
- absl-py==1.4.0
2
- absolufy-imports==0.3.1
3
- accelerate==1.10.1
4
- aiofiles==24.1.0
5
- aiohappyeyeballs==2.6.1
6
- aiohttp==3.12.15
7
- aiosignal==1.4.0
8
- alabaster==1.0.0
9
- albucore==0.0.24
10
- albumentations==2.0.8
11
- ale-py==0.11.2
12
- alembic==1.16.5
13
- altair==5.5.0
14
- annotated-types==0.7.0
15
- antlr4-python3-runtime==4.9.3
16
- anyio==4.10.0
17
- anywidget==0.9.18
18
- argon2-cffi==25.1.0
19
- argon2-cffi-bindings==25.1.0
20
- array_record==0.8.1
21
- arrow==1.3.0
22
- arviz==0.22.0
23
- astropy==7.1.0
24
- astropy-iers-data==0.2025.9.1.0.42.11
25
- astunparse==1.6.3
26
- atpublic==5.1
27
- attrs==25.3.0
28
- audioread==3.0.1
29
- Authlib==1.6.3
30
- autograd==1.8.0
31
- babel==2.17.0
32
- backcall==0.2.0
33
- beartype==0.21.0
34
- beautifulsoup4==4.13.5
35
- betterproto==2.0.0b6
36
- bigframes==2.18.0
37
- bigquery-magics==0.10.3
38
- bleach==6.2.0
39
- blinker==1.9.0
40
- blis==1.3.0
41
- blobfile==3.0.0
42
- blosc2==3.7.2
43
- bokeh==3.7.3
44
- Bottleneck==1.4.2
45
- bqplot==0.12.45
46
- branca==0.8.1
47
- Brotli==1.1.0
48
- build==1.3.0
49
- CacheControl==0.14.3
50
- cachetools==5.5.2
51
- catalogue==2.0.10
52
- certifi==2025.8.3
53
- cffi==1.17.1
54
- chardet==5.2.0
55
- charset-normalizer==3.4.3
56
- chex==0.1.90
57
- clarabel==0.11.1
58
- click==8.2.1
59
- cloudpathlib==0.22.0
60
- cloudpickle==3.1.1
61
- cmake==3.31.6
62
- cmdstanpy==1.2.5
63
- colorcet==3.1.0
64
- colorlover==0.3.0
65
- colour==0.1.5
66
- community==1.0.0b1
67
- confection==0.1.5
68
- cons==0.4.7
69
- contourpy==1.3.3
70
- cramjam==2.11.0
71
- cryptography==43.0.3
72
- cuda-python==12.6.2.post1
73
- cudf-cu12 @ https://pypi.nvidia.com/cudf-cu12/cudf_cu12-25.6.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
74
- cudf-polars-cu12==25.6.0
75
- cufflinks==0.17.3
76
- cuml-cu12==25.6.0
77
- cupy-cuda12x==13.3.0
78
- curl_cffi==0.13.0
79
- cuvs-cu12==25.6.1
80
- cvxopt==1.3.2
81
- cvxpy==1.6.7
82
- cycler==0.12.1
83
- cyipopt==1.5.0
84
- cymem==2.0.11
85
- Cython==3.0.12
86
- dask==2025.5.0
87
- dask-cuda==25.6.0
88
- dask-cudf-cu12==25.6.0
89
- dataproc-spark-connect==0.8.3
90
- datasets==4.0.0
91
- db-dtypes==1.4.3
92
- dbus-python==1.2.18
93
- debugpy==1.8.15
94
- decorator==4.4.2
95
- defusedxml==0.7.1
96
- diffusers==0.35.1
97
- dill==0.3.8
98
- distributed==2025.5.0
99
- distributed-ucxx-cu12==0.44.0
100
- distro==1.9.0
101
- dlib==19.24.6
102
- dm-tree==0.1.9
103
- docstring_parser==0.17.0
104
- docutils==0.21.2
105
- dopamine_rl==4.1.2
106
- duckdb==1.3.2
107
- earthengine-api==1.5.24
108
- easydict==1.13
109
- editdistance==0.8.1
110
- eerepr==0.1.2
111
- einops==0.8.1
112
- en_core_web_sm @ https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-3.8.0/en_core_web_sm-3.8.0-py3-none-any.whl#sha256=1932429db727d4bff3deed6b34cfc05df17794f4a52eeb26cf8928f7c1a0fb85
113
- entrypoints==0.4
114
- et_xmlfile==2.0.0
115
- etils==1.13.0
116
- etuples==0.3.10
117
- Farama-Notifications==0.0.4
118
- fastai==2.8.4
119
- fastapi==0.116.1
120
- fastcore==1.8.8
121
- fastdownload==0.0.7
122
- fastjsonschema==2.21.2
123
- fastprogress==1.0.3
124
- fastrlock==0.8.3
125
- fasttransform==0.0.2
126
- ffmpy==0.6.1
127
- filelock==3.19.1
128
- firebase-admin==6.9.0
129
- Flask==3.1.2
130
- flatbuffers==25.2.10
131
- flax==0.10.6
132
- folium==0.20.0
133
- fonttools==4.59.2
134
- fqdn==1.5.1
135
- frozendict==2.4.6
136
- frozenlist==1.7.0
137
- fsspec==2025.3.0
138
- future==1.0.0
139
- gast==0.6.0
140
- gcsfs==2025.3.0
141
- GDAL==3.8.4
142
- gdown==5.2.0
143
- geemap==0.35.3
144
- geocoder==1.38.1
145
- geographiclib==2.1
146
- geopandas==1.1.1
147
- geopy==2.4.1
148
- gin-config==0.5.0
149
- gitdb==4.0.12
150
- GitPython==3.1.45
151
- glob2==0.7
152
- google==2.0.3
153
- google-adk==1.13.0
154
- google-ai-generativelanguage==0.6.15
155
- google-api-core==2.25.1
156
- google-api-python-client==2.181.0
157
- google-auth==2.38.0
158
- google-auth-httplib2==0.2.0
159
- google-auth-oauthlib==1.2.2
160
- google-cloud-aiplatform==1.111.0
161
- google-cloud-appengine-logging==1.6.2
162
- google-cloud-audit-log==0.3.2
163
- google-cloud-bigquery==3.36.0
164
- google-cloud-bigquery-connection==1.18.3
165
- google-cloud-bigquery-storage==2.33.0
166
- google-cloud-bigtable==2.32.0
167
- google-cloud-core==2.4.3
168
- google-cloud-dataproc==5.21.0
169
- google-cloud-datastore==2.21.0
170
- google-cloud-firestore==2.21.0
171
- google-cloud-functions==1.20.4
172
- google-cloud-language==2.17.2
173
- google-cloud-logging==3.12.1
174
- google-cloud-resource-manager==1.14.2
175
- google-cloud-secret-manager==2.24.0
176
- google-cloud-spanner==3.57.0
177
- google-cloud-speech==2.33.0
178
- google-cloud-storage==2.19.0
179
- google-cloud-trace==1.16.2
180
- google-cloud-translate==3.21.1
181
- google-colab @ file:///colabtools/dist/google_colab-1.0.0.tar.gz
182
- google-crc32c==1.7.1
183
- google-genai==1.33.0
184
- google-generativeai==0.8.5
185
- google-pasta==0.2.0
186
- google-resumable-media==2.7.2
187
- googleapis-common-protos==1.70.0
188
- googledrivedownloader==1.1.0
189
- gradio==5.44.1
190
- gradio_client==1.12.1
191
- graphviz==0.21
192
- greenlet==3.2.4
193
- groovy==0.1.2
194
- grpc-google-iam-v1==0.14.2
195
- grpc-interceptor==0.15.4
196
- grpcio==1.74.0
197
- grpcio-status==1.71.2
198
- grpclib==0.4.8
199
- gspread==6.2.1
200
- gspread-dataframe==4.0.0
201
- gym==0.25.2
202
- gym-notices==0.1.0
203
- gymnasium==1.2.0
204
- h11==0.16.0
205
- h2==4.3.0
206
- h5netcdf==1.6.4
207
- h5py==3.14.0
208
- hdbscan==0.8.40
209
  hf-xet==1.1.9
210
  hf_transfer==0.1.9
211
- highspy==1.11.0
212
- holidays==0.80
213
- holoviews==1.21.0
214
- hpack==4.1.0
215
- html5lib==1.1
216
- httpcore==1.0.9
217
- httpimport==1.4.1
218
- httplib2==0.30.0
219
- httpx==0.28.1
220
- httpx-sse==0.4.1
221
  huggingface-hub==0.34.4
222
- humanize==4.13.0
223
- hyperframe==6.1.0
224
- hyperopt==0.2.7
225
- ibis-framework==9.5.0
226
- idna==3.10
227
- imageio==2.37.0
228
- imageio-ffmpeg==0.6.0
229
- imagesize==1.4.1
230
- imbalanced-learn==0.14.0
231
- immutabledict==4.2.1
232
- importlib_metadata==8.7.0
233
- importlib_resources==6.5.2
234
- imutils==0.5.4
235
- inflect==7.5.0
236
- iniconfig==2.1.0
237
- intel-cmplr-lib-ur==2025.2.1
238
- intel-openmp==2025.2.1
239
- ipyevents==2.0.2
240
- ipyfilechooser==0.6.0
241
- ipykernel==6.17.1
242
- ipyleaflet==0.20.0
243
- ipyparallel==8.8.0
244
- ipython==7.34.0
245
- ipython-genutils==0.2.0
246
- ipython-sql==0.5.0
247
- ipytree==0.2.2
248
- ipywidgets==7.7.1
249
- isoduration==20.11.0
250
- itsdangerous==2.2.0
251
- jaraco.classes==3.4.0
252
- jaraco.context==6.0.1
253
- jaraco.functools==4.3.0
254
- jax==0.5.3
255
- jax-cuda12-pjrt==0.5.3
256
- jax-cuda12-plugin==0.5.3
257
- jaxlib==0.5.3
258
- jeepney==0.9.0
259
- jieba==0.42.1
260
- Jinja2==3.1.6
261
- jiter==0.10.0
262
- joblib==1.5.2
263
- jsonpatch==1.33
264
- jsonpickle==4.1.1
265
- jsonpointer==3.0.0
266
- jsonschema==4.25.1
267
- jsonschema-specifications==2025.4.1
268
- jupyter-console==6.6.3
269
- jupyter-events==0.12.0
270
- jupyter-leaflet==0.20.0
271
- jupyter_client==7.4.9
272
- jupyter_core==5.8.1
273
- jupyter_kernel_gateway @ git+https://github.com/googlecolab/kernel_gateway@b134e9945df25c2dcb98ade9129399be10788671
274
- jupyter_server==2.14.0
275
- jupyter_server_terminals==0.5.3
276
- jupyterlab_pygments==0.3.0
277
- jupyterlab_widgets==3.0.15
278
- jupytext==1.17.3
279
- kaggle==1.7.4.5
280
- kagglehub==0.3.13
281
- keras==3.10.0
282
- keras-hub==0.21.1
283
- keras-nlp==0.21.1
284
- keyring==25.6.0
285
- keyrings.google-artifactregistry-auth==1.1.2
286
- kiwisolver==1.4.9
287
- langchain==0.3.27
288
- langchain-core==0.3.75
289
- langchain-text-splitters==0.3.11
290
- langcodes==3.5.0
291
- langsmith==0.4.24
292
- language_data==1.3.0
293
- lark==1.2.2
294
- launchpadlib==1.10.16
295
- lazr.restfulclient==0.14.4
296
- lazr.uri==1.0.6
297
- lazy_loader==0.4
298
- libclang==18.1.1
299
- libcudf-cu12 @ https://pypi.nvidia.com/libcudf-cu12/libcudf_cu12-25.6.0-py3-none-manylinux_2_28_x86_64.whl
300
- libcugraph-cu12==25.6.0
301
- libcuml-cu12==25.6.0
302
- libcuvs-cu12==25.6.1
303
- libkvikio-cu12==25.6.0
304
- libpysal==4.13.0
305
- libraft-cu12==25.6.0
306
- librmm-cu12==25.6.0
307
- librosa==0.11.0
308
- libucx-cu12==1.18.1
309
- libucxx-cu12==0.44.0
310
- lightgbm @ file:///tmp/lightgbm/LightGBM/dist/lightgbm-4.6.0-py3-none-linux_x86_64.whl
311
- linkify-it-py==2.0.3
312
- llvmlite==0.43.0
313
- locket==1.0.0
314
- logical-unification==0.4.6
315
- lxml==5.4.0
316
- Mako==1.3.10
317
- marisa-trie==1.3.1
318
- Markdown==3.9
319
- markdown-it-py==4.0.0
320
- MarkupSafe==3.0.2
321
  matplotlib==3.10.0
322
- matplotlib-inline==0.1.7
323
- matplotlib-venn==1.1.2
324
- mcp==1.13.1
325
- mdit-py-plugins==0.5.0
326
- mdurl==0.1.2
327
- miniKanren==1.0.5
328
- missingno==0.5.2
329
- mistune==3.1.4
330
- mizani==0.13.5
331
- mkl==2025.2.0
332
- ml_dtypes==0.5.3
333
- mlxtend==0.23.4
334
- more-itertools==10.8.0
335
- moviepy==1.0.3
336
- mpmath==1.3.0
337
- msgpack==1.1.1
338
- multidict==6.6.4
339
- multipledispatch==1.0.0
340
- multiprocess==0.70.16
341
- multitasking==0.0.12
342
- murmurhash==1.0.13
343
- music21==9.3.0
344
- namex==0.1.0
345
- narwhals==2.3.0
346
- natsort==8.4.0
347
- nbclassic==1.3.2
348
- nbclient==0.10.2
349
- nbconvert==7.16.6
350
- nbformat==5.10.4
351
- ndindex==1.10.0
352
- nest-asyncio==1.6.0
353
- networkx==3.5
354
- nibabel==5.3.2
355
- nltk==3.9.1
356
- notebook==6.5.7
357
- notebook_shim==0.2.4
358
- numba==0.60.0
359
- numba-cuda==0.11.0
360
- numexpr==2.11.0
361
  numpy==2.0.2
362
- nvidia-cublas-cu12==12.6.4.1
363
- nvidia-cuda-cupti-cu12==12.6.80
364
- nvidia-cuda-nvcc-cu12==12.5.82
365
- nvidia-cuda-nvrtc-cu12==12.6.77
366
- nvidia-cuda-runtime-cu12==12.6.77
367
- nvidia-cudnn-cu12==9.10.2.21
368
- nvidia-cufft-cu12==11.3.0.4
369
- nvidia-cufile-cu12==1.11.1.6
370
- nvidia-curand-cu12==10.3.7.77
371
- nvidia-cusolver-cu12==11.7.1.2
372
- nvidia-cusparse-cu12==12.5.4.2
373
- nvidia-cusparselt-cu12==0.7.1
374
- nvidia-ml-py==12.575.51
375
- nvidia-nccl-cu12==2.27.3
376
- nvidia-nvjitlink-cu12==12.6.85
377
- nvidia-nvtx-cu12==12.6.77
378
- nvtx==0.2.13
379
- nx-cugraph-cu12 @ https://pypi.nvidia.com/nx-cugraph-cu12/nx_cugraph_cu12-25.6.0-py3-none-any.whl
380
- oauth2client==4.1.3
381
- oauthlib==3.3.1
382
- omegaconf==2.3.0
383
  openai==1.106.1
384
  opencv-contrib-python==4.12.0.88
385
  opencv-python==4.12.0.88
386
  opencv-python-headless==4.12.0.88
387
  openpyxl==3.1.5
388
- opentelemetry-api==1.36.0
389
- opentelemetry-exporter-gcp-trace==1.9.0
390
- opentelemetry-resourcedetector-gcp==1.9.0a0
391
- opentelemetry-sdk==1.36.0
392
- opentelemetry-semantic-conventions==0.57b0
393
  opt_einsum==3.4.0
394
- optax==0.2.5
395
- optree==0.17.0
396
- orbax-checkpoint==0.11.24
397
- orjson==3.11.3
398
- osqp==1.0.4
399
- overrides==7.7.0
400
- packaging==25.0
401
  pandas==2.2.2
402
  pandas-datareader==0.10.0
403
- pandas-gbq==0.29.2
404
- pandas-stubs==2.2.2.240909
405
- pandocfilters==1.5.1
406
- panel==1.7.5
407
- param==2.2.1
408
- parso==0.8.5
409
- parsy==2.1
410
- partd==1.4.2
411
- patsy==1.0.1
412
- peewee==3.18.2
413
- peft==0.17.1
414
- pexpect==4.9.0
415
- pickleshare==0.7.5
416
- pillow==11.3.0
417
- platformdirs==4.4.0
418
- plotly==5.24.1
419
- plotnine==0.14.5
420
- pluggy==1.6.0
421
- plum-dispatch==2.5.7
422
- ply==3.11
423
- polars==1.25.2
424
- pooch==1.8.2
425
- portpicker==1.5.2
426
- preshed==3.0.10
427
- prettytable==3.16.0
428
- proglog==0.1.12
429
- progressbar2==4.5.0
430
- prometheus_client==0.22.1
431
- promise==2.3
432
- prompt_toolkit==3.0.52
433
- propcache==0.3.2
434
- prophet==1.1.7
435
- proto-plus==1.26.1
436
- protobuf==5.29.5
437
- psutil==5.9.5
438
- psycopg2==2.9.10
439
- psygnal==0.14.1
440
- ptyprocess==0.7.0
441
- py-cpuinfo==9.0.0
442
- py4j==0.10.9.7
443
- pyarrow==18.1.0
444
- pyasn1==0.6.1
445
- pyasn1_modules==0.4.2
446
- pycairo==1.28.0
447
- pycocotools==2.0.10
448
- pycparser==2.22
449
- pycryptodomex==3.23.0
450
- pydantic==2.11.7
451
- pydantic-settings==2.10.1
452
- pydantic_core==2.33.2
453
- pydata-google-auth==1.9.1
454
- pydot==3.0.4
455
- pydotplus==2.0.2
456
- PyDrive2==1.21.3
457
- pydub==0.25.1
458
- pyerfa==2.0.1.5
459
- pygame==2.6.1
460
- pygit2==1.18.2
461
- Pygments==2.19.2
462
- PyGObject==3.42.0
463
- PyJWT==2.10.1
464
- pylibcudf-cu12 @ https://pypi.nvidia.com/pylibcudf-cu12/pylibcudf_cu12-25.6.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
465
- pylibcugraph-cu12==25.6.0
466
- pylibraft-cu12==25.6.0
467
- pymc==5.25.1
468
- pynndescent==0.5.13
469
- pynvjitlink-cu12==0.7.0
470
- pynvml==12.0.0
471
- pyogrio==0.11.1
472
- pyomo==6.9.4
473
- PyOpenGL==3.1.10
474
- pyOpenSSL==24.2.1
475
- pyparsing==3.2.3
476
- pyperclip==1.9.0
477
- pyproj==3.7.2
478
- pyproject_hooks==1.2.0
479
- pyshp==2.3.1
480
- PySocks==1.7.1
481
- pyspark==3.5.1
482
- pytensor==2.31.7
483
- pytest==8.4.2
484
- python-apt==0.0.0
485
- python-box==7.3.2
486
- python-dateutil==2.9.0.post0
487
- python-dotenv==1.1.1
488
- python-json-logger==3.3.0
489
- python-louvain==0.16
490
- python-multipart==0.0.20
491
- python-slugify==8.0.4
492
- python-snappy==0.7.3
493
- python-utils==3.9.1
494
- pytz==2025.2
495
- pyviz_comms==3.0.6
496
- PyWavelets==1.9.0
497
- PyYAML==6.0.2
498
- pyzmq==26.2.1
499
- raft-dask-cu12==25.6.0
500
- rapids-dask-dependency==25.6.0
501
- rapids-logger==0.1.1
502
- ratelim==0.1.6
503
- referencing==0.36.2
504
- regex==2024.11.6
505
  requests==2.32.4
506
- requests-oauthlib==2.0.0
507
- requests-toolbelt==1.0.0
508
- requirements-parser==0.9.0
509
- rfc3339-validator==0.1.4
510
- rfc3986-validator==0.1.1
511
- rfc3987-syntax==1.1.0
512
- rich==13.9.4
513
- rmm-cu12==25.6.0
514
- roman-numerals-py==3.1.0
515
- rpds-py==0.27.1
516
- rpy2==3.5.17
517
- rsa==4.9.1
518
- ruff==0.12.12
519
- safehttpx==0.1.6
520
  safetensors==0.6.2
521
  scikit-image==0.25.2
522
  scikit-learn==1.6.1
523
  scipy==1.16.1
524
- scooby==0.10.1
525
- scs==3.2.8
526
- seaborn==0.13.2
527
- SecretStorage==3.3.3
528
- semantic-version==2.10.0
529
- Send2Trash==1.8.3
530
- sentence-transformers==5.1.0
531
- sentencepiece==0.2.1
532
- sentry-sdk==2.36.0
533
- setuptools==75.2.0
534
- shap==0.48.0
535
- shapely==2.1.1
536
- shellingham==1.5.4
537
- simple-parsing==0.1.7
538
- simplejson==3.20.1
539
- simsimd==6.5.1
540
- six==1.17.0
541
  sklearn-pandas==2.2.0
542
- slicer==0.0.8
543
- smart_open==7.3.0.post1
544
- smmap==5.0.2
545
- sniffio==1.3.1
546
- snowballstemmer==3.0.1
547
- sortedcontainers==2.4.0
548
- soundfile==0.13.1
549
- soupsieve==2.8
550
- soxr==0.5.0.post1
551
- spacy==3.8.7
552
- spacy-legacy==3.0.12
553
- spacy-loggers==1.0.5
554
- spanner-graph-notebook==1.1.8
555
- Sphinx==8.2.3
556
- sphinxcontrib-applehelp==2.0.0
557
- sphinxcontrib-devhelp==2.0.0
558
- sphinxcontrib-htmlhelp==2.1.0
559
- sphinxcontrib-jsmath==1.0.1
560
- sphinxcontrib-qthelp==2.0.0
561
- sphinxcontrib-serializinghtml==2.0.0
562
- SQLAlchemy==2.0.43
563
- sqlalchemy-spanner==1.16.0
564
- sqlglot==25.20.2
565
- sqlparse==0.5.3
566
- srsly==2.5.1
567
- sse-starlette==3.0.2
568
- stanio==0.5.1
569
- starlette==0.47.3
570
- statsmodels==0.14.5
571
- stringzilla==3.12.6
572
- stumpy==1.13.0
573
- sympy==1.13.3
574
- tables==3.10.2
575
- tabulate==0.9.0
576
- tbb==2022.2.0
577
- tblib==3.1.0
578
- tcmlib==1.4.0
579
- tenacity==8.5.0
580
- tensorboard==2.19.0
581
- tensorboard-data-server==0.7.2
582
- tensorflow==2.19.0
583
- tensorflow-datasets==4.9.9
584
- tensorflow-hub==0.16.1
585
- tensorflow-metadata==1.17.2
586
- tensorflow-probability==0.25.0
587
- tensorflow-text==2.19.0
588
- tensorflow_decision_forests==1.12.0
589
- tensorstore==0.1.76
590
- termcolor==3.1.0
591
- terminado==0.18.1
592
- text-unidecode==1.3
593
- textblob==0.19.0
594
- tf-slim==1.1.0
595
- tf_keras==2.19.0
596
- thinc==8.3.6
597
- threadpoolctl==3.6.0
598
- tifffile==2025.8.28
599
  tiktoken==0.11.0
600
- timm==1.0.19
601
- tinycss2==1.4.0
602
  tokenizers==0.22.0
603
- toml==0.10.2
604
- tomlkit==0.13.3
605
- toolz==0.12.1
606
  torch==2.8.0+cu126
607
  torch-geometric==2.6.1
608
  torchao==0.10.0
@@ -611,61 +27,7 @@ torchdata==0.11.0
611
  torchsummary==1.5.1
612
  torchtune==0.6.1
613
  torchvision==0.23.0+cu126
614
- tornado==6.4.2
615
  tqdm==4.67.1
616
- traitlets==5.7.1
617
- traittypes==0.2.1
618
  transformers==4.56.1
619
- treelite==4.4.1
620
- treescope==0.1.10
621
- triton==3.4.0
622
- tsfresh==0.21.1
623
- tweepy==4.16.0
624
- typeguard==4.4.4
625
- typer==0.17.3
626
- types-python-dateutil==2.9.0.20250822
627
- types-pytz==2025.2.0.20250809
628
- types-setuptools==80.9.0.20250822
629
- typing-inspection==0.4.1
630
- typing_extensions==4.15.0
631
- tzdata==2025.2
632
- tzlocal==5.3.1
633
- uc-micro-py==1.0.3
634
- ucx-py-cu12==0.44.0
635
- ucxx-cu12==0.44.0
636
- umap-learn==0.5.9.post2
637
- umf==0.11.0
638
- uri-template==1.3.0
639
- uritemplate==4.2.0
640
  urllib3==2.5.0
641
  uvicorn==0.35.0
642
- vega-datasets==0.9.0
643
- wadllib==1.3.6
644
- wandb==0.21.3
645
- wasabi==1.1.3
646
- watchdog==6.0.0
647
- wcwidth==0.2.13
648
- weasel==0.4.1
649
- webcolors==24.11.1
650
- webencodings==0.5.1
651
- websocket-client==1.8.0
652
- websockets==15.0.1
653
- Werkzeug==3.1.3
654
- wheel==0.45.1
655
- widgetsnbextension==3.6.10
656
- wordcloud==1.9.4
657
- wrapt==1.17.3
658
- wurlitzer==3.1.1
659
- xarray==2025.9.0
660
- xarray-einstats==0.9.1
661
- xgboost==3.0.4
662
- xlrd==2.0.2
663
- xxhash==3.5.0
664
- xyzservices==2025.4.0
665
- yarl==1.20.1
666
- ydf==0.13.0
667
- yellowbrick==1.5
668
- yfinance==0.2.65
669
- zict==3.0.0
670
- zipp==3.23.0
671
- zstandard==0.24.0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  hf-xet==1.1.9
2
  hf_transfer==0.1.9
 
 
 
 
 
 
 
 
 
 
3
  huggingface-hub==0.34.4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  matplotlib==3.10.0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
  numpy==2.0.2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6
  openai==1.106.1
7
  opencv-contrib-python==4.12.0.88
8
  opencv-python==4.12.0.88
9
  opencv-python-headless==4.12.0.88
10
  openpyxl==3.1.5
 
 
 
 
 
11
  opt_einsum==3.4.0
 
 
 
 
 
 
 
12
  pandas==2.2.2
13
  pandas-datareader==0.10.0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
  requests==2.32.4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15
  safetensors==0.6.2
16
  scikit-image==0.25.2
17
  scikit-learn==1.6.1
18
  scipy==1.16.1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
  sklearn-pandas==2.2.0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
20
  tiktoken==0.11.0
 
 
21
  tokenizers==0.22.0
 
 
 
22
  torch==2.8.0+cu126
23
  torch-geometric==2.6.1
24
  torchao==0.10.0
 
27
  torchsummary==1.5.1
28
  torchtune==0.6.1
29
  torchvision==0.23.0+cu126
 
30
  tqdm==4.67.1
 
 
31
  transformers==4.56.1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32
  urllib3==2.5.0
33
  uvicorn==0.35.0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
src/base_model.py CHANGED
@@ -43,9 +43,9 @@ def load_model():
43
  device_map=constants.DEVICE,
44
  )
45
  """
46
- olf_encoder = torch.load(constants.ENCODER_SMALL_GRAPH_PATH, weights_only=False).to(constants.DEVICE)
47
  olf_encoder.eval()
48
- graph_model = torch.load(constants.OVLE_SMALL_GRAPH_PATH, weights_only=False).to(constants.DEVICE)
49
  graph_model.eval()
50
 
51
  return clip_model, olf_encoder, graph_model
 
43
  device_map=constants.DEVICE,
44
  )
45
  """
46
+ olf_encoder = torch.jit.load(constants.ENCODER_SMALL_GRAPH_PATH).to(constants.DEVICE)
47
  olf_encoder.eval()
48
+ graph_model = torch.jit.load(constants.OVLE_SMALL_GRAPH_PATH).to(constants.DEVICE)
49
  graph_model.eval()
50
 
51
  return clip_model, olf_encoder, graph_model
src/graph_model.py CHANGED
@@ -40,9 +40,9 @@ def load_model():
40
  device_map=constants.DEVICE,
41
  )
42
  """
43
- olf_encoder = torch.load(constants.ENCODER_SMALL_BASE_PATH, weights_only=False).to(constants.DEVICE)
44
  olf_encoder.eval()
45
- graph_model = torch.load(constants.OVLE_SMALL_BASE_PATH, weights_only=False).to(constants.DEVICE)
46
  graph_model.eval()
47
 
48
  return clip_model, olf_encoder, graph_model
 
40
  device_map=constants.DEVICE,
41
  )
42
  """
43
+ olf_encoder = torch.jit.load(constants.ENCODER_SMALL_BASE_PATH).to(constants.DEVICE)
44
  olf_encoder.eval()
45
+ graph_model = torch.jit.load(constants.OVLE_SMALL_BASE_PATH).to(constants.DEVICE)
46
  graph_model.eval()
47
 
48
  return clip_model, olf_encoder, graph_model