Dhairya2 commited on
Commit
284dc33
·
1 Parent(s): 09416a0

Deploy Gradio app

Browse files
Files changed (2) hide show
  1. app.py +128 -0
  2. requirements.txt +530 -0
app.py ADDED
@@ -0,0 +1,128 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ import gradio as gr
3
+ from transformers import GitProcessor, GitForCausalLM, BlipProcessor, BlipForConditionalGeneration
4
+ from PIL import Image
5
+ import torch
6
+ from sentence_transformers import SentenceTransformer, util
7
+ import nltk
8
+
9
+ # Ensure nltk stopwords are downloaded
10
+ nltk.download('stopwords')
11
+
12
+ # Load the stop words from nltk
13
+ stop_words = set(stopwords.words('english'))
14
+
15
+ # Device setup
16
+ device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
17
+
18
+ # Load the processor and model for GIT
19
+ processor_git = GitProcessor.from_pretrained("microsoft/git-base-coco")
20
+ model_git = GitForCausalLM.from_pretrained("microsoft/git-base-coco").to(device)
21
+
22
+ # Load the processor and model for BLIP
23
+ processor_blip = BlipProcessor.from_pretrained("Salesforce/blip-image-captioning-large")
24
+ model_blip = BlipForConditionalGeneration.from_pretrained("Salesforce/blip-image-captioning-large").to(device)
25
+
26
+ # Load the SentenceTransformer model
27
+ model_sentence = SentenceTransformer('sentence-transformers/stsb-roberta-base')
28
+
29
+ # Define categories and associated prompts
30
+ category_prompts = {
31
+ "nature": "Describe the beautiful aspects of the scene in nature. What might be happening outside of the picture?",
32
+ "technology": "Explain how technology is being used here and what future implications it might have.",
33
+ "kids": "Talk about the joy of childhood visible in this image, and imagine what the kids might do next."
34
+ }
35
+
36
+ # Function to generate prompt based on category
37
+ def generate_prompt(image_category):
38
+ if image_category in category_prompts:
39
+ return category_prompts[image_category]
40
+ else:
41
+ return "Describe the image in detail and predict what could be happening beyond it."
42
+
43
+ # Function to preprocess image
44
+ def preprocess_image(image):
45
+ inputs = processor_git(images=image, return_tensors="pt")
46
+ return inputs['pixel_values'].to(device), image # Return both pixel values and image for display
47
+
48
+ # Function to generate caption with GIT model
49
+ def generate_caption_git(image, category):
50
+ # Preprocess image
51
+ pixel_values, processed_image = preprocess_image(image)
52
+
53
+ # Generate prompt for the category
54
+ prompt = generate_prompt(category)
55
+
56
+ # Generate caption with GIT model
57
+ inputs = processor_git(text=prompt, images=image, return_tensors="pt")
58
+ inputs['pixel_values'] = pixel_values # Use preprocessed pixel values
59
+
60
+ # Move inputs to GPU
61
+ inputs = {key: val.to(device) for key, val in inputs.items()}
62
+
63
+ # Generate caption
64
+ generated_ids = model_git.generate(
65
+ pixel_values=inputs['pixel_values'],
66
+ max_length=300,
67
+ num_beams=5,
68
+ repetition_penalty=2.5
69
+ )
70
+ generated_text = processor_git.decode(generated_ids[0], skip_special_tokens=True)
71
+
72
+ return generated_text, processed_image
73
+
74
+ # Function to generate final caption using BLIP model
75
+ def generate_caption_blip(image, git_caption):
76
+ # Preprocess image for BLIP
77
+ inputs = processor_blip(images=image, text=git_caption, return_tensors="pt").to(device)
78
+
79
+ # Generate final caption with BLIP
80
+ generated_ids = model_blip.generate(
81
+ inputs['pixel_values'],
82
+ max_length=300, # Increase to allow for longer captions
83
+ num_beams=5,
84
+ repetition_penalty=2.5,
85
+ length_penalty=1.5, # Encourage longer outputs
86
+ min_length=120, # Set minimum length to ensure at least 150 words
87
+ early_stopping=True
88
+ )
89
+ final_caption = processor_blip.decode(generated_ids[0], skip_special_tokens=True)
90
+
91
+ return final_caption
92
+
93
+ # Function to compute semantic similarity score
94
+ def compute_semantic_similarity(generated_caption, candidate_answer):
95
+ # Encode the sentences to get their embeddings
96
+ generated_embedding = model_sentence.encode(generated_caption, convert_to_tensor=True)
97
+ candidate_embedding = model_sentence.encode(candidate_answer, convert_to_tensor=True)
98
+
99
+ # Compute the cosine similarity
100
+ similarity_score = util.pytorch_cos_sim(generated_embedding, candidate_embedding).item()
101
+
102
+ # Scale the similarity score to a percentage (0-100)
103
+ return similarity_score * 100
104
+
105
+ # Gradio function
106
+ def gradio_interface(image, category, candidate_answer):
107
+ # Generate initial caption using GIT
108
+ git_caption, _ = generate_caption_git(image, category)
109
+
110
+ # Generate final caption using BLIP based on GIT output
111
+ final_caption = generate_caption_blip(image, git_caption)
112
+
113
+ # Compute the similarity between BLIP caption and candidate answer
114
+ similarity_score = compute_semantic_similarity(final_caption, candidate_answer)
115
+
116
+ return final_caption, similarity_score
117
+
118
+ # Create Gradio interface
119
+ image_input = gr.Image(type="pil")
120
+ category_input = gr.Dropdown(choices=["nature", "technology", "kids"], label="Select Category")
121
+ candidate_input = gr.Textbox(label="Enter your answer", placeholder="Type your answer here...")
122
+
123
+ outputs = [gr.Textbox(label="BLIP Caption"),
124
+ gr.Textbox(label="Semantic Similarity Score")]
125
+
126
+ # Launch the Gradio interface
127
+ gr.Interface(fn=gradio_interface, inputs=[image_input, category_input, candidate_input], outputs=outputs, title="Image Captioning with BLIP and Semantic Similarity", description="Upload an image, select a category, and input your answer to compare with the BLIP-generated caption.").launch()
128
+
requirements.txt ADDED
@@ -0,0 +1,530 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ absl-py==1.4.0
2
+ accelerate==0.34.2
3
+ aiofiles==23.2.1
4
+ aiohappyeyeballs==2.4.3
5
+ aiohttp==3.10.10
6
+ aiosignal==1.3.1
7
+ alabaster==0.7.16
8
+ albucore==0.0.16
9
+ albumentations==1.4.15
10
+ altair==4.2.2
11
+ annotated-types==0.7.0
12
+ anyio==3.7.1
13
+ argon2-cffi==23.1.0
14
+ argon2-cffi-bindings==21.2.0
15
+ array_record==0.5.1
16
+ arviz==0.19.0
17
+ astropy==6.1.4
18
+ astropy-iers-data==0.2024.10.7.0.32.46
19
+ astunparse==1.6.3
20
+ async-timeout==4.0.3
21
+ atpublic==4.1.0
22
+ attrs==24.2.0
23
+ audioread==3.0.1
24
+ autograd==1.7.0
25
+ babel==2.16.0
26
+ backcall==0.2.0
27
+ beautifulsoup4==4.12.3
28
+ bigframes==1.22.0
29
+ bigquery-magics==0.4.0
30
+ bleach==6.1.0
31
+ blinker==1.4
32
+ blis==0.7.11
33
+ blosc2==2.0.0
34
+ bokeh==3.4.3
35
+ Bottleneck==1.4.0
36
+ bqplot==0.12.43
37
+ branca==0.8.0
38
+ build==1.2.2.post1
39
+ CacheControl==0.14.0
40
+ cachetools==5.5.0
41
+ catalogue==2.0.10
42
+ certifi==2024.8.30
43
+ cffi==1.17.1
44
+ chardet==5.2.0
45
+ charset-normalizer==3.4.0
46
+ chex==0.1.87
47
+ clarabel==0.9.0
48
+ click==8.1.7
49
+ cloudpathlib==0.19.0
50
+ cloudpickle==2.2.1
51
+ cmake==3.30.4
52
+ cmdstanpy==1.2.4
53
+ colorcet==3.1.0
54
+ colorlover==0.3.0
55
+ colour==0.1.5
56
+ community==1.0.0b1
57
+ confection==0.1.5
58
+ cons==0.4.6
59
+ contextlib2==21.6.0
60
+ contourpy==1.3.0
61
+ cryptography==43.0.1
62
+ cuda-python==12.2.1
63
+ cudf-cu12 @ https://pypi.nvidia.com/cudf-cu12/cudf_cu12-24.6.1-cp310-cp310-manylinux_2_28_x86_64.whl
64
+ cufflinks==0.17.3
65
+ cupy-cuda12x==12.2.0
66
+ cvxopt==1.3.2
67
+ cvxpy==1.5.3
68
+ cycler==0.12.1
69
+ cymem==2.0.8
70
+ Cython==3.0.11
71
+ dask==2024.8.0
72
+ datascience==0.17.6
73
+ db-dtypes==1.3.0
74
+ dbus-python==1.2.18
75
+ debugpy==1.6.6
76
+ decorator==4.4.2
77
+ defusedxml==0.7.1
78
+ Deprecated==1.2.14
79
+ distributed==2024.8.0
80
+ distro==1.7.0
81
+ dlib==19.24.2
82
+ dm-tree==0.1.8
83
+ docstring_parser==0.16
84
+ docutils==0.18.1
85
+ dopamine_rl==4.0.9
86
+ duckdb==1.1.1
87
+ earthengine-api==1.0.0
88
+ easydict==1.13
89
+ ecos==2.0.14
90
+ editdistance==0.8.1
91
+ eerepr==0.0.4
92
+ einops==0.8.0
93
+ en-core-web-sm @ https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-3.7.1/en_core_web_sm-3.7.1-py3-none-any.whl#sha256=86cc141f63942d4b2c5fcee06630fd6f904788d2f0ab005cce45aadb8fb73889
94
+ entrypoints==0.4
95
+ et-xmlfile==1.1.0
96
+ etils==1.9.4
97
+ etuples==0.3.9
98
+ eval_type_backport==0.2.0
99
+ exceptiongroup==1.2.2
100
+ fastai==2.7.17
101
+ fastapi==0.115.2
102
+ fastcore==1.7.13
103
+ fastdownload==0.0.7
104
+ fastjsonschema==2.20.0
105
+ fastprogress==1.0.3
106
+ fastrlock==0.8.2
107
+ ffmpy==0.4.0
108
+ filelock==3.16.1
109
+ firebase-admin==6.5.0
110
+ Flask==2.2.5
111
+ flatbuffers==24.3.25
112
+ flax==0.8.5
113
+ folium==0.17.0
114
+ fonttools==4.54.1
115
+ frozendict==2.4.5
116
+ frozenlist==1.4.1
117
+ fsspec==2024.6.1
118
+ future==1.0.0
119
+ gast==0.6.0
120
+ gcsfs==2024.6.1
121
+ GDAL==3.6.4
122
+ gdown==5.2.0
123
+ geemap==0.34.5
124
+ gensim==4.3.3
125
+ geocoder==1.38.1
126
+ geographiclib==2.0
127
+ geopandas==1.0.1
128
+ geopy==2.4.1
129
+ gin-config==0.5.0
130
+ glob2==0.7
131
+ google==2.0.3
132
+ google-ai-generativelanguage==0.6.6
133
+ google-api-core==2.19.2
134
+ google-api-python-client==2.137.0
135
+ google-auth==2.27.0
136
+ google-auth-httplib2==0.2.0
137
+ google-auth-oauthlib==1.2.1
138
+ google-cloud-aiplatform==1.70.0
139
+ google-cloud-bigquery==3.25.0
140
+ google-cloud-bigquery-connection==1.15.5
141
+ google-cloud-bigquery-storage==2.26.0
142
+ google-cloud-bigtable==2.26.0
143
+ google-cloud-core==2.4.1
144
+ google-cloud-datastore==2.19.0
145
+ google-cloud-firestore==2.16.1
146
+ google-cloud-functions==1.16.5
147
+ google-cloud-iam==2.15.2
148
+ google-cloud-language==2.13.4
149
+ google-cloud-pubsub==2.25.0
150
+ google-cloud-resource-manager==1.12.5
151
+ google-cloud-storage==2.8.0
152
+ google-cloud-translate==3.15.5
153
+ google-colab @ file:///colabtools/dist/google_colab-1.0.0.tar.gz
154
+ google-crc32c==1.6.0
155
+ google-generativeai==0.7.2
156
+ google-pasta==0.2.0
157
+ google-resumable-media==2.7.2
158
+ googleapis-common-protos==1.65.0
159
+ googledrivedownloader==0.4
160
+ gradio==5.1.0
161
+ gradio_client==1.4.0
162
+ graphviz==0.20.3
163
+ greenlet==3.1.1
164
+ grpc-google-iam-v1==0.13.1
165
+ grpcio==1.64.1
166
+ grpcio-status==1.48.2
167
+ gspread==6.0.2
168
+ gspread-dataframe==3.3.1
169
+ gym==0.25.2
170
+ gym-notices==0.0.8
171
+ h11==0.14.0
172
+ h5netcdf==1.4.0
173
+ h5py==3.11.0
174
+ holidays==0.58
175
+ holoviews==1.19.1
176
+ html5lib==1.1
177
+ httpcore==1.0.6
178
+ httpimport==1.4.0
179
+ httplib2==0.22.0
180
+ httpx==0.27.2
181
+ huggingface-hub==0.25.2
182
+ humanize==4.10.0
183
+ hyperopt==0.2.7
184
+ ibis-framework==9.2.0
185
+ idna==3.10
186
+ imageio==2.35.1
187
+ imageio-ffmpeg==0.5.1
188
+ imagesize==1.4.1
189
+ imbalanced-learn==0.12.4
190
+ imgaug==0.4.0
191
+ immutabledict==4.2.0
192
+ importlib_metadata==8.5.0
193
+ importlib_resources==6.4.5
194
+ imutils==0.5.4
195
+ inflect==7.4.0
196
+ iniconfig==2.0.0
197
+ intel-cmplr-lib-ur==2024.2.1
198
+ intel-openmp==2024.2.1
199
+ ipyevents==2.0.2
200
+ ipyfilechooser==0.6.0
201
+ ipykernel==5.5.6
202
+ ipyleaflet==0.19.2
203
+ ipyparallel==8.8.0
204
+ ipython==7.34.0
205
+ ipython-genutils==0.2.0
206
+ ipython-sql==0.5.0
207
+ ipytree==0.2.2
208
+ ipywidgets==7.7.1
209
+ itsdangerous==2.2.0
210
+ jax==0.4.33
211
+ jax-cuda12-pjrt==0.4.33
212
+ jax-cuda12-plugin==0.4.33
213
+ jaxlib==0.4.33
214
+ jeepney==0.7.1
215
+ jellyfish==1.1.0
216
+ jieba==0.42.1
217
+ Jinja2==3.1.4
218
+ joblib==1.4.2
219
+ jsonpickle==3.3.0
220
+ jsonschema==4.23.0
221
+ jsonschema-specifications==2024.10.1
222
+ jupyter-client==6.1.12
223
+ jupyter-console==6.1.0
224
+ jupyter-leaflet==0.19.2
225
+ jupyter-server==1.24.0
226
+ jupyter_core==5.7.2
227
+ jupyterlab_pygments==0.3.0
228
+ jupyterlab_widgets==3.0.13
229
+ kaggle==1.6.17
230
+ kagglehub==0.3.1
231
+ keras==3.4.1
232
+ keyring==23.5.0
233
+ kiwisolver==1.4.7
234
+ langcodes==3.4.1
235
+ language_data==1.2.0
236
+ launchpadlib==1.10.16
237
+ lazr.restfulclient==0.14.4
238
+ lazr.uri==1.0.6
239
+ lazy_loader==0.4
240
+ libclang==18.1.1
241
+ librosa==0.10.2.post1
242
+ lightgbm==4.5.0
243
+ linkify-it-py==2.0.3
244
+ llvmlite==0.43.0
245
+ locket==1.0.0
246
+ logical-unification==0.4.6
247
+ lxml==4.9.4
248
+ marisa-trie==1.2.0
249
+ Markdown==3.7
250
+ markdown-it-py==3.0.0
251
+ MarkupSafe==2.1.5
252
+ matplotlib==3.7.1
253
+ matplotlib-inline==0.1.7
254
+ matplotlib-venn==1.1.1
255
+ mdit-py-plugins==0.4.2
256
+ mdurl==0.1.2
257
+ miniKanren==1.0.3
258
+ missingno==0.5.2
259
+ mistune==0.8.4
260
+ mizani==0.11.4
261
+ mkl==2024.2.2
262
+ ml-dtypes==0.4.1
263
+ mlxtend==0.23.1
264
+ more-itertools==10.5.0
265
+ moviepy==1.0.3
266
+ mpmath==1.3.0
267
+ msgpack==1.0.8
268
+ multidict==6.1.0
269
+ multipledispatch==1.0.0
270
+ multitasking==0.0.11
271
+ murmurhash==1.0.10
272
+ music21==9.1.0
273
+ namex==0.0.8
274
+ natsort==8.4.0
275
+ nbclassic==1.1.0
276
+ nbclient==0.10.0
277
+ nbconvert==6.5.4
278
+ nbformat==5.10.4
279
+ nest-asyncio==1.6.0
280
+ networkx==3.4
281
+ nibabel==5.2.1
282
+ nltk==3.8.1
283
+ notebook==6.5.5
284
+ notebook_shim==0.2.4
285
+ numba==0.60.0
286
+ numexpr==2.10.1
287
+ numpy==1.26.4
288
+ nvidia-cublas-cu12==12.6.3.3
289
+ nvidia-cuda-cupti-cu12==12.6.80
290
+ nvidia-cuda-nvcc-cu12==12.6.77
291
+ nvidia-cuda-runtime-cu12==12.6.77
292
+ nvidia-cudnn-cu12==9.5.0.50
293
+ nvidia-cufft-cu12==11.3.0.4
294
+ nvidia-cusolver-cu12==11.7.1.2
295
+ nvidia-cusparse-cu12==12.5.4.2
296
+ nvidia-nccl-cu12==2.23.4
297
+ nvidia-nvjitlink-cu12==12.6.77
298
+ nvtx==0.2.10
299
+ oauth2client==4.1.3
300
+ oauthlib==3.2.2
301
+ opencv-contrib-python==4.10.0.84
302
+ opencv-python==4.10.0.84
303
+ opencv-python-headless==4.10.0.84
304
+ openpyxl==3.1.5
305
+ opentelemetry-api==1.16.0
306
+ opentelemetry-sdk==1.16.0
307
+ opentelemetry-semantic-conventions==0.37b0
308
+ opt_einsum==3.4.0
309
+ optax==0.2.3
310
+ optree==0.13.0
311
+ orbax-checkpoint==0.6.4
312
+ ordered-set==4.1.0
313
+ orjson==3.10.7
314
+ osqp==0.6.7.post0
315
+ packaging==24.1
316
+ pandas==2.2.2
317
+ pandas-datareader==0.10.0
318
+ pandas-gbq==0.23.2
319
+ pandas-stubs==2.2.2.240909
320
+ pandocfilters==1.5.1
321
+ panel==1.4.5
322
+ param==2.1.1
323
+ parso==0.8.4
324
+ parsy==2.1
325
+ partd==1.4.2
326
+ pathlib==1.0.1
327
+ patsy==0.5.6
328
+ peewee==3.17.6
329
+ pexpect==4.9.0
330
+ pickleshare==0.7.5
331
+ pillow==10.4.0
332
+ pip-tools==7.4.1
333
+ platformdirs==4.3.6
334
+ plotly==5.24.1
335
+ plotnine==0.13.6
336
+ pluggy==1.5.0
337
+ polars==1.7.1
338
+ pooch==1.8.2
339
+ portpicker==1.5.2
340
+ prefetch_generator==1.0.3
341
+ preshed==3.0.9
342
+ prettytable==3.11.0
343
+ proglog==0.1.10
344
+ progressbar2==4.5.0
345
+ prometheus_client==0.21.0
346
+ promise==2.3
347
+ prompt_toolkit==3.0.48
348
+ propcache==0.2.0
349
+ prophet==1.1.6
350
+ proto-plus==1.24.0
351
+ protobuf==3.20.3
352
+ psutil==5.9.5
353
+ psycopg2==2.9.9
354
+ ptyprocess==0.7.0
355
+ py-cpuinfo==9.0.0
356
+ py4j==0.10.9.7
357
+ pyarrow==16.1.0
358
+ pyarrow-hotfix==0.6
359
+ pyasn1==0.6.1
360
+ pyasn1_modules==0.4.1
361
+ pycocotools==2.0.8
362
+ pycparser==2.22
363
+ pydantic==2.9.2
364
+ pydantic_core==2.23.4
365
+ pydata-google-auth==1.8.2
366
+ pydot==3.0.2
367
+ pydot-ng==2.0.0
368
+ pydotplus==2.0.2
369
+ PyDrive==1.3.1
370
+ PyDrive2==1.20.0
371
+ pydub==0.25.1
372
+ pyerfa==2.0.1.4
373
+ pygame==2.6.1
374
+ Pygments==2.18.0
375
+ PyGObject==3.42.1
376
+ PyJWT==2.9.0
377
+ pymc==5.16.2
378
+ pymystem3==0.2.0
379
+ pynvjitlink-cu12==0.3.0
380
+ pyogrio==0.10.0
381
+ PyOpenGL==3.1.7
382
+ pyOpenSSL==24.2.1
383
+ pyparsing==3.1.4
384
+ pyperclip==1.9.0
385
+ pyproj==3.7.0
386
+ pyproject_hooks==1.2.0
387
+ pyshp==2.3.1
388
+ PySocks==1.7.1
389
+ pytensor==2.25.5
390
+ pytest==7.4.4
391
+ python-apt==0.0.0
392
+ python-box==7.2.0
393
+ python-dateutil==2.8.2
394
+ python-louvain==0.16
395
+ python-multipart==0.0.12
396
+ python-slugify==8.0.4
397
+ python-utils==3.9.0
398
+ pytz==2024.2
399
+ pyviz_comms==3.0.3
400
+ PyYAML==6.0.2
401
+ pyzmq==24.0.1
402
+ qdldl==0.1.7.post4
403
+ ratelim==0.1.6
404
+ referencing==0.35.1
405
+ regex==2024.9.11
406
+ requests==2.32.3
407
+ requests-oauthlib==1.3.1
408
+ requirements-parser==0.9.0
409
+ rich==13.9.2
410
+ rmm-cu12==24.6.0
411
+ rpds-py==0.20.0
412
+ rpy2==3.4.2
413
+ rsa==4.9
414
+ ruff==0.6.9
415
+ safetensors==0.4.5
416
+ scikit-image==0.24.0
417
+ scikit-learn==1.5.2
418
+ scipy==1.13.1
419
+ scooby==0.10.0
420
+ scs==3.2.7
421
+ seaborn==0.13.2
422
+ SecretStorage==3.3.1
423
+ semantic-version==2.10.0
424
+ Send2Trash==1.8.3
425
+ sentence-transformers==3.2.0
426
+ sentencepiece==0.2.0
427
+ shapely==2.0.6
428
+ shellingham==1.5.4
429
+ simple-parsing==0.1.6
430
+ six==1.16.0
431
+ sklearn-pandas==2.2.0
432
+ smart-open==7.0.5
433
+ sniffio==1.3.1
434
+ snowballstemmer==2.2.0
435
+ sortedcontainers==2.4.0
436
+ soundfile==0.12.1
437
+ soupsieve==2.6
438
+ soxr==0.5.0.post1
439
+ spacy==3.7.5
440
+ spacy-legacy==3.0.12
441
+ spacy-loggers==1.0.5
442
+ Sphinx==5.0.2
443
+ sphinxcontrib-applehelp==2.0.0
444
+ sphinxcontrib-devhelp==2.0.0
445
+ sphinxcontrib-htmlhelp==2.1.0
446
+ sphinxcontrib-jsmath==1.0.1
447
+ sphinxcontrib-qthelp==2.0.0
448
+ sphinxcontrib-serializinghtml==2.0.0
449
+ SQLAlchemy==2.0.35
450
+ sqlglot==25.1.0
451
+ sqlparse==0.5.1
452
+ srsly==2.4.8
453
+ stanio==0.5.1
454
+ starlette==0.40.0
455
+ statsmodels==0.14.4
456
+ StrEnum==0.4.15
457
+ sympy==1.13.3
458
+ tables==3.8.0
459
+ tabulate==0.9.0
460
+ tbb==2021.13.1
461
+ tblib==3.0.0
462
+ tenacity==9.0.0
463
+ tensorboard==2.17.0
464
+ tensorboard-data-server==0.7.2
465
+ tensorflow==2.17.0
466
+ tensorflow-datasets==4.9.6
467
+ tensorflow-hub==0.16.1
468
+ tensorflow-io-gcs-filesystem==0.37.1
469
+ tensorflow-metadata==1.16.1
470
+ tensorflow-probability==0.24.0
471
+ tensorstore==0.1.66
472
+ termcolor==2.5.0
473
+ terminado==0.18.1
474
+ text-unidecode==1.3
475
+ textblob==0.17.1
476
+ tf-slim==1.1.0
477
+ tf_keras==2.17.0
478
+ thinc==8.2.5
479
+ threadpoolctl==3.5.0
480
+ tifffile==2024.9.20
481
+ tinycss2==1.3.0
482
+ tokenizers==0.19.1
483
+ toml==0.10.2
484
+ tomli==2.0.2
485
+ tomlkit==0.12.0
486
+ toolz==0.12.1
487
+ torch @ https://download.pytorch.org/whl/cu121_full/torch-2.4.1%2Bcu121-cp310-cp310-linux_x86_64.whl
488
+ torchaudio @ https://download.pytorch.org/whl/cu121_full/torchaudio-2.4.1%2Bcu121-cp310-cp310-linux_x86_64.whl
489
+ torchsummary==1.5.1
490
+ torchvision @ https://download.pytorch.org/whl/cu121_full/torchvision-0.19.1%2Bcu121-cp310-cp310-linux_x86_64.whl
491
+ tornado==6.3.3
492
+ tqdm==4.66.5
493
+ traitlets==5.7.1
494
+ traittypes==0.2.1
495
+ transformers==4.44.2
496
+ tweepy==4.14.0
497
+ typeguard==4.3.0
498
+ typer==0.12.5
499
+ types-pytz==2024.2.0.20241003
500
+ types-setuptools==75.1.0.20241014
501
+ typing_extensions==4.12.2
502
+ tzdata==2024.2
503
+ tzlocal==5.2
504
+ uc-micro-py==1.0.3
505
+ uritemplate==4.1.1
506
+ urllib3==2.2.3
507
+ uvicorn==0.32.0
508
+ vega-datasets==0.9.0
509
+ wadllib==1.3.6
510
+ wasabi==1.1.3
511
+ wcwidth==0.2.13
512
+ weasel==0.4.1
513
+ webcolors==24.8.0
514
+ webencodings==0.5.1
515
+ websocket-client==1.8.0
516
+ websockets==12.0
517
+ Werkzeug==3.0.4
518
+ widgetsnbextension==3.6.9
519
+ wordcloud==1.9.3
520
+ wrapt==1.16.0
521
+ xarray==2024.9.0
522
+ xarray-einstats==0.8.0
523
+ xgboost==2.1.1
524
+ xlrd==2.0.1
525
+ xyzservices==2024.9.0
526
+ yarl==1.14.0
527
+ yellowbrick==1.5
528
+ yfinance==0.2.44
529
+ zict==3.0.0
530
+ zipp==3.20.2