Spaces:
Runtime error
Runtime error
chandrakalagowda
commited on
Commit
•
8395318
1
Parent(s):
69095bd
Upload folder using huggingface_hub
Browse filesThis view is limited to 50 files because it contains too many changes.
See raw diff
- .DS_Store +0 -0
- .ipynb_checkpoints/2_deep_dive_image_search-checkpoint.ipynb +0 -0
- .ipynb_checkpoints/Untitled-checkpoint.ipynb +6 -0
- 2_deep_dive_image_search.ipynb +0 -0
- 2_deepdiveimagesearch.py +226 -0
- README.md +3 -9
- requirements.txt +145 -0
- reverse_image_search.csv +120 -0
- test/.DS_Store +0 -0
- test/Arvind_kejriwal/.DS_Store +0 -0
- test/Arvind_kejriwal/Arvind_kejriwal11.JPEG +0 -0
- test/Barack_Obama/.DS_Store +0 -0
- test/Barack_Obama/barack_obama11.JPEG +0 -0
- test/Ben_Carson/.DS_Store +0 -0
- test/Ben_Carson/Ben_Carson11.JPEG +0 -0
- test/Bernie_Sanders/.DS_Store +0 -0
- test/Bernie_Sanders/Bernie_Sanders17.JPEG +0 -0
- test/Emmanuel_Macron/.DS_Store +0 -0
- test/Emmanuel_Macron/Emmanuel_Macron11.JPEG +0 -0
- test/Hillary_Clinton/.DS_Store +0 -0
- test/Hillary_Clinton/Hillary_Clinton11.JPEG +0 -0
- test/Joe_Biden/.DS_Store +0 -0
- test/Joe_Biden/Biden11.JPEG +0 -0
- test/Kamala_Harris/.DS_Store +0 -0
- test/Kamala_Harris/Kamala_Harris11.JPEG +0 -0
- test/Kim_Jong_Un/.DS_Store +0 -0
- test/Kim_Jong_Un/Kim_Jong_Un11.JPEG +0 -0
- test/Michelle_Obama/.DS_Store +0 -0
- test/Michelle_Obama/Michelle_Obama11.JPEG +0 -0
- test/Narendra_Modi/.DS_Store +0 -0
- test/Narendra_Modi/narendra_modi11.JPEG +0 -0
- test/Rahul_Gandhi/.DS_Store +0 -0
- test/Rahul_Gandhi/Rahul_Gandhi17.JPEG +0 -0
- train/.DS_Store +0 -0
- train/Arvind_kejriwal/.DS_Store +0 -0
- train/Arvind_kejriwal/Arvind_kejriwal1.JPEG +0 -0
- train/Arvind_kejriwal/Arvind_kejriwal10.JPEG +0 -0
- train/Arvind_kejriwal/Arvind_kejriwal2.JPEG +0 -0
- train/Arvind_kejriwal/Arvind_kejriwal3.JPEG +0 -0
- train/Arvind_kejriwal/Arvind_kejriwal4.JPEG +0 -0
- train/Arvind_kejriwal/Arvind_kejriwal5.JPEG +0 -0
- train/Arvind_kejriwal/Arvind_kejriwal6.JPEG +0 -0
- train/Arvind_kejriwal/Arvind_kejriwal7.JPEG +0 -0
- train/Arvind_kejriwal/Arvind_kejriwal8.JPEG +0 -0
- train/Arvind_kejriwal/Arvind_kejriwal9.JPEG +0 -0
- train/Barack_Obama/.DS_Store +0 -0
- train/Barack_Obama/barack obama7.JPEG +0 -0
- train/Barack_Obama/barack_obama1.JPEG +0 -0
- train/Barack_Obama/barack_obama10.JPEG +0 -0
- train/Barack_Obama/barack_obama2.JPEG +0 -0
.DS_Store
ADDED
Binary file (6.15 kB). View file
|
|
.ipynb_checkpoints/2_deep_dive_image_search-checkpoint.ipynb
ADDED
The diff for this file is too large to render.
See raw diff
|
|
.ipynb_checkpoints/Untitled-checkpoint.ipynb
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"cells": [],
|
3 |
+
"metadata": {},
|
4 |
+
"nbformat": 4,
|
5 |
+
"nbformat_minor": 5
|
6 |
+
}
|
2_deep_dive_image_search.ipynb
ADDED
The diff for this file is too large to render.
See raw diff
|
|
2_deepdiveimagesearch.py
ADDED
@@ -0,0 +1,226 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
from milvus import default_server
|
3 |
+
from pymilvus import connections, utility
|
4 |
+
default_server.start()
|
5 |
+
|
6 |
+
import cv2
|
7 |
+
import numpy
|
8 |
+
import time
|
9 |
+
import csv
|
10 |
+
from glob import glob
|
11 |
+
from pathlib import Path
|
12 |
+
from statistics import mean
|
13 |
+
|
14 |
+
from towhee import pipe, ops, DataCollection
|
15 |
+
from towhee.types.image import Image
|
16 |
+
from pymilvus import connections, FieldSchema, CollectionSchema, DataType, Collection, utility
|
17 |
+
|
18 |
+
# Towhee parameters
|
19 |
+
MODEL = 'vgg16'
|
20 |
+
DEVICE = None # if None, use default device (cuda is enabled if available)
|
21 |
+
|
22 |
+
# Milvus parameters
|
23 |
+
HOST = '127.0.0.1'
|
24 |
+
PORT = '19530'
|
25 |
+
TOPK = 10
|
26 |
+
DIM = 512 # dimension of embedding extracted, change with MODEL
|
27 |
+
COLLECTION_NAME = 'deep_dive_image_search_' + MODEL
|
28 |
+
INDEX_TYPE = 'IVF_FLAT'
|
29 |
+
METRIC_TYPE = 'L2'
|
30 |
+
|
31 |
+
# patterns of image paths
|
32 |
+
INSERT_SRC = './train/*/*.JPEG'
|
33 |
+
QUERY_SRC = './test/*/*.JPEG'
|
34 |
+
|
35 |
+
to_insert = glob(INSERT_SRC)
|
36 |
+
to_test = glob(QUERY_SRC)
|
37 |
+
|
38 |
+
# Create milvus collection (delete first if exists)
|
39 |
+
def create_milvus_collection(collection_name, dim):
|
40 |
+
if utility.has_collection(collection_name):
|
41 |
+
utility.drop_collection(collection_name)
|
42 |
+
|
43 |
+
fields = [
|
44 |
+
FieldSchema(name='path', dtype=DataType.VARCHAR, description='path to image', max_length=500,
|
45 |
+
is_primary=True, auto_id=False),
|
46 |
+
FieldSchema(name='embedding', dtype=DataType.FLOAT_VECTOR, description='image embedding vectors', dim=dim)
|
47 |
+
]
|
48 |
+
schema = CollectionSchema(fields=fields, description='reverse image search')
|
49 |
+
collection = Collection(name=collection_name, schema=schema)
|
50 |
+
|
51 |
+
index_params = {
|
52 |
+
'metric_type': METRIC_TYPE,
|
53 |
+
'index_type': INDEX_TYPE,
|
54 |
+
'params': {"nlist": 2048}
|
55 |
+
}
|
56 |
+
collection.create_index(field_name='embedding', index_params=index_params)
|
57 |
+
return collection
|
58 |
+
|
59 |
+
# Read images
|
60 |
+
decoder = ops.image_decode('rgb').get_op()
|
61 |
+
def read_images(img_paths):
|
62 |
+
imgs = []
|
63 |
+
for p in img_paths:
|
64 |
+
img = decoder(p)
|
65 |
+
imgs.append(img)
|
66 |
+
# imgs.append(Image(cv2.imread(p), 'RGB'))
|
67 |
+
return imgs
|
68 |
+
|
69 |
+
# Get ground truth
|
70 |
+
def ground_truth(path):
|
71 |
+
train_path = str(Path(path).parent).replace('test', 'train')
|
72 |
+
return [str(Path(x).resolve()) for x in glob(train_path + '/*.JPEG')]
|
73 |
+
|
74 |
+
# Calculate Average Precision
|
75 |
+
def get_ap(pred: list, gt: list):
|
76 |
+
ct = 0
|
77 |
+
score = 0.
|
78 |
+
for i, n in enumerate(pred):
|
79 |
+
if n in gt:
|
80 |
+
ct += 1
|
81 |
+
score += (ct / (i + 1))
|
82 |
+
if ct == 0:
|
83 |
+
ap = 0
|
84 |
+
else:
|
85 |
+
ap = score / ct
|
86 |
+
return ap
|
87 |
+
|
88 |
+
|
89 |
+
# Embedding pipeline
|
90 |
+
p_embed = (
|
91 |
+
pipe.input('img_path')
|
92 |
+
.map('img_path', 'img', ops.image_decode('rgb'))
|
93 |
+
.map('img', 'vec', ops.image_embedding.timm(model_name=MODEL, device=DEVICE))
|
94 |
+
.map('vec', 'vec', lambda x: x / numpy.linalg.norm(x, axis=0))
|
95 |
+
)
|
96 |
+
|
97 |
+
# Display embedding result, no need for implementation
|
98 |
+
p_display = p_embed.output('img_path', 'img', 'vec')
|
99 |
+
|
100 |
+
DataCollection(p_display(to_insert[0])).show()
|
101 |
+
|
102 |
+
# Connect to Milvus service
|
103 |
+
connections.connect(host=HOST, port=PORT)
|
104 |
+
|
105 |
+
# Create collection
|
106 |
+
collection = create_milvus_collection(COLLECTION_NAME, DIM)
|
107 |
+
print(f'A new collection created: {COLLECTION_NAME}')
|
108 |
+
|
109 |
+
# Insert data
|
110 |
+
p_insert = (
|
111 |
+
p_embed.map(('img_path', 'vec'), 'mr', ops.ann_insert.milvus_client(
|
112 |
+
host=HOST,
|
113 |
+
port=PORT,
|
114 |
+
collection_name=COLLECTION_NAME
|
115 |
+
))
|
116 |
+
.output('mr')
|
117 |
+
)
|
118 |
+
|
119 |
+
for img_path in to_insert:
|
120 |
+
p_insert(img_path)
|
121 |
+
print('Number of data inserted:', collection.num_entities)
|
122 |
+
|
123 |
+
# Performance
|
124 |
+
collection.load()
|
125 |
+
p_search_pre = (
|
126 |
+
p_embed.map('vec', ('search_res'), ops.ann_search.milvus_client(
|
127 |
+
host=HOST, port=PORT, limit=TOPK,
|
128 |
+
collection_name=COLLECTION_NAME))
|
129 |
+
.map('search_res', 'pred', lambda x: [str(Path(y[0]).resolve()) for y in x])
|
130 |
+
# .output('img_path', 'pred')
|
131 |
+
)
|
132 |
+
p_eval = (
|
133 |
+
p_search_pre.map('img_path', 'gt', ground_truth)
|
134 |
+
.map(('pred', 'gt'), 'ap', get_ap)
|
135 |
+
.output('ap')
|
136 |
+
)
|
137 |
+
|
138 |
+
res = []
|
139 |
+
for img_path in to_test:
|
140 |
+
ap = p_eval(img_path).get()[0]
|
141 |
+
res.append(ap)
|
142 |
+
|
143 |
+
mAP = mean(res)
|
144 |
+
|
145 |
+
print(f'mAP@{TOPK}: {mAP}')
|
146 |
+
|
147 |
+
p_search_img = (
|
148 |
+
p_search_pre.map('img_path', 'gt', ground_truth)
|
149 |
+
.map(('pred', 'gt'), 'ap', get_ap)
|
150 |
+
.map('pred', 'res', read_images)
|
151 |
+
.output('img_path', 'img', 'res', 'ap')
|
152 |
+
)
|
153 |
+
DataCollection(p_search_img('./test/Joe_Biden/Biden11.JPEG')).show()
|
154 |
+
|
155 |
+
|
156 |
+
def get_max_object(img, boxes):
|
157 |
+
if len(boxes) == 0:
|
158 |
+
return img
|
159 |
+
max_area = 0
|
160 |
+
for box in boxes:
|
161 |
+
x1, y1, x2, y2 = box
|
162 |
+
area = (x2-x1)*(y2-y1)
|
163 |
+
if area > max_area:
|
164 |
+
max_area = area
|
165 |
+
max_img = img[y1:y2,x1:x2,:]
|
166 |
+
return max_img
|
167 |
+
|
168 |
+
p_yolo = (
|
169 |
+
pipe.input('img_path')
|
170 |
+
.map('img_path', 'img', ops.image_decode('rgb'))
|
171 |
+
.map('img', ('boxes', 'class', 'score'), ops.object_detection.yolov5())
|
172 |
+
.map(('img', 'boxes'), 'object', get_max_object)
|
173 |
+
)
|
174 |
+
|
175 |
+
# Display embedding result, no need for implementation
|
176 |
+
p_display = (
|
177 |
+
p_yolo.output('img', 'object')
|
178 |
+
)
|
179 |
+
DataCollection(p_display('./test/Joe_Biden/Biden11.JPEG')).show()
|
180 |
+
|
181 |
+
|
182 |
+
# Search
|
183 |
+
p_search_pre_yolo = (
|
184 |
+
p_yolo.map('object', 'vec', ops.image_embedding.timm(model_name=MODEL, device=DEVICE))
|
185 |
+
.map('vec', 'vec', lambda x: x / numpy.linalg.norm(x, axis=0))
|
186 |
+
.map('vec', ('search_res'), ops.ann_search.milvus_client(
|
187 |
+
host=HOST, port=PORT, limit=TOPK,
|
188 |
+
collection_name=COLLECTION_NAME))
|
189 |
+
.map('search_res', 'pred', lambda x: [str(Path(y[0]).resolve()) for y in x])
|
190 |
+
# .output('img_path', 'pred')
|
191 |
+
)
|
192 |
+
|
193 |
+
# Evaluate with AP
|
194 |
+
p_search_img_yolo = (
|
195 |
+
p_search_pre_yolo.map('img_path', 'gt', ground_truth)
|
196 |
+
.map(('pred', 'gt'), 'ap', get_ap)
|
197 |
+
.map('pred', 'res', read_images)
|
198 |
+
.output('img', 'object', 'res', 'ap')
|
199 |
+
)
|
200 |
+
DataCollection(p_search_img_yolo('./test/Joe_Biden/Biden11.JPEG')).show()
|
201 |
+
|
202 |
+
|
203 |
+
import gradio
|
204 |
+
|
205 |
+
DEMO_MODEL = 'vgg16'
|
206 |
+
DEMO_COLLECTION = 'deep_dive_image_search_' + DEMO_MODEL
|
207 |
+
|
208 |
+
def f_search(img):
|
209 |
+
p_search = (
|
210 |
+
pipe.input('img')
|
211 |
+
.map('img', 'vec', ops.image_embedding.timm(model_name=DEMO_MODEL, device=DEVICE))
|
212 |
+
.map('vec', 'vec', lambda x: x / numpy.linalg.norm(x, axis=0))
|
213 |
+
.map('vec', 'search_res', ops.ann_search.milvus_client(
|
214 |
+
host=HOST, port=PORT, limit=TOPK,
|
215 |
+
collection_name=DEMO_COLLECTION))
|
216 |
+
.map('search_res', 'pred', lambda x: [str(Path(y[0]).resolve()) for y in x])
|
217 |
+
.output('pred')
|
218 |
+
)
|
219 |
+
return p_search(img).get()[0]
|
220 |
+
|
221 |
+
interface = gradio.Interface(f_search,
|
222 |
+
gradio.inputs.Image(type="pil", source='upload'),
|
223 |
+
[gradio.outputs.Image(type="filepath", label=None) for _ in range(TOPK)]
|
224 |
+
)
|
225 |
+
|
226 |
+
interface.launch(inline=True, share=True)
|
README.md
CHANGED
@@ -1,12 +1,6 @@
|
|
1 |
---
|
2 |
-
title:
|
3 |
-
|
4 |
-
colorFrom: red
|
5 |
-
colorTo: yellow
|
6 |
sdk: gradio
|
7 |
-
sdk_version: 3.
|
8 |
-
app_file: app.py
|
9 |
-
pinned: false
|
10 |
---
|
11 |
-
|
12 |
-
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
|
|
|
1 |
---
|
2 |
+
title: reverseimagepolitical
|
3 |
+
app_file: 2_deepdiveimagesearch.py
|
|
|
|
|
4 |
sdk: gradio
|
5 |
+
sdk_version: 3.37.0
|
|
|
|
|
6 |
---
|
|
|
|
requirements.txt
ADDED
@@ -0,0 +1,145 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
aiofiles==23.1.0
|
2 |
+
aiohttp==3.8.4
|
3 |
+
aiosignal==1.3.1
|
4 |
+
altair==5.0.1
|
5 |
+
anyio==3.7.1
|
6 |
+
appnope==0.1.3
|
7 |
+
asttokens==2.2.1
|
8 |
+
async-timeout==4.0.2
|
9 |
+
attrs==23.1.0
|
10 |
+
av==10.0.0
|
11 |
+
backcall==0.2.0
|
12 |
+
beautifulsoup4==4.12.2
|
13 |
+
bleach==6.0.0
|
14 |
+
certifi==2023.5.7
|
15 |
+
charset-normalizer==3.2.0
|
16 |
+
click==8.1.6
|
17 |
+
comm==0.1.3
|
18 |
+
contourpy==1.1.0
|
19 |
+
cycler==0.11.0
|
20 |
+
debugpy==1.6.7
|
21 |
+
decorator==5.1.1
|
22 |
+
docutils==0.20.1
|
23 |
+
environs==9.5.0
|
24 |
+
executing==1.2.0
|
25 |
+
fastapi==0.100.0
|
26 |
+
ffmpy==0.3.1
|
27 |
+
filelock==3.12.2
|
28 |
+
fonttools==4.41.0
|
29 |
+
frozenlist==1.4.0
|
30 |
+
fsspec==2023.6.0
|
31 |
+
fvcore==0.1.5.post20221221
|
32 |
+
gitdb==4.0.10
|
33 |
+
GitPython==3.1.32
|
34 |
+
gradio==3.37.0
|
35 |
+
gradio_client==0.2.10
|
36 |
+
grpcio==1.53.0
|
37 |
+
h11==0.14.0
|
38 |
+
httpcore==0.17.3
|
39 |
+
httpx==0.24.1
|
40 |
+
huggingface-hub==0.16.4
|
41 |
+
idna==3.4
|
42 |
+
importlib-metadata==6.8.0
|
43 |
+
iopath==0.1.10
|
44 |
+
ipykernel==6.24.0
|
45 |
+
ipython==8.14.0
|
46 |
+
ipywidgets==8.0.7
|
47 |
+
jaraco.classes==3.3.0
|
48 |
+
jedi==0.18.2
|
49 |
+
Jinja2==3.1.2
|
50 |
+
jsonschema==4.18.4
|
51 |
+
jsonschema-specifications==2023.7.1
|
52 |
+
jupyter_client==8.3.0
|
53 |
+
jupyter_core==5.3.1
|
54 |
+
jupyterlab-widgets==3.0.8
|
55 |
+
keyring==24.2.0
|
56 |
+
kiwisolver==1.4.4
|
57 |
+
linkify-it-py==2.0.2
|
58 |
+
markdown-it-py==2.2.0
|
59 |
+
MarkupSafe==2.1.3
|
60 |
+
marshmallow==3.19.0
|
61 |
+
matplotlib==3.7.2
|
62 |
+
matplotlib-inline==0.1.6
|
63 |
+
mdit-py-plugins==0.3.3
|
64 |
+
mdurl==0.1.2
|
65 |
+
milvus==2.2.11
|
66 |
+
more-itertools==9.1.0
|
67 |
+
mpmath==1.3.0
|
68 |
+
multidict==6.0.4
|
69 |
+
nest-asyncio==1.5.6
|
70 |
+
networkx==3.1
|
71 |
+
numpy==1.25.1
|
72 |
+
opencv-python==4.8.0.74
|
73 |
+
orjson==3.9.2
|
74 |
+
packaging==23.1
|
75 |
+
pandas==2.0.3
|
76 |
+
parameterized==0.9.0
|
77 |
+
parso==0.8.3
|
78 |
+
pexpect==4.8.0
|
79 |
+
pickleshare==0.7.5
|
80 |
+
Pillow==10.0.0
|
81 |
+
pkginfo==1.9.6
|
82 |
+
platformdirs==3.9.1
|
83 |
+
portalocker==2.7.0
|
84 |
+
prompt-toolkit==3.0.39
|
85 |
+
protobuf==4.23.4
|
86 |
+
psutil==5.9.5
|
87 |
+
ptyprocess==0.7.0
|
88 |
+
pure-eval==0.2.2
|
89 |
+
pydantic==1.10.11
|
90 |
+
pydub==0.25.1
|
91 |
+
Pygments==2.15.1
|
92 |
+
pymilvus==2.2.11
|
93 |
+
pyparsing==3.0.9
|
94 |
+
python-dateutil==2.8.2
|
95 |
+
python-dotenv==1.0.0
|
96 |
+
python-multipart==0.0.6
|
97 |
+
pytorchvideo==0.1.3
|
98 |
+
pytz==2023.3
|
99 |
+
PyYAML==6.0.1
|
100 |
+
pyzmq==25.1.0
|
101 |
+
readme-renderer==40.0
|
102 |
+
referencing==0.30.0
|
103 |
+
requests==2.31.0
|
104 |
+
requests-toolbelt==1.0.0
|
105 |
+
rfc3986==2.0.0
|
106 |
+
rich==13.4.2
|
107 |
+
rpds-py==0.9.2
|
108 |
+
safetensors==0.3.1
|
109 |
+
scipy==1.11.1
|
110 |
+
seaborn==0.12.2
|
111 |
+
semantic-version==2.10.0
|
112 |
+
six==1.16.0
|
113 |
+
smmap==5.0.0
|
114 |
+
sniffio==1.3.0
|
115 |
+
soupsieve==2.4.1
|
116 |
+
stack-data==0.6.2
|
117 |
+
starlette==0.27.0
|
118 |
+
sympy==1.12
|
119 |
+
tabulate==0.9.0
|
120 |
+
tenacity==8.2.2
|
121 |
+
termcolor==2.3.0
|
122 |
+
timm==0.9.2
|
123 |
+
toolz==0.12.0
|
124 |
+
torch==2.0.1
|
125 |
+
torchvision==0.15.2
|
126 |
+
tornado==6.3.2
|
127 |
+
towhee==1.1.1
|
128 |
+
towhee.models==1.1.1
|
129 |
+
tqdm==4.65.0
|
130 |
+
traitlets==5.9.0
|
131 |
+
twine==4.0.2
|
132 |
+
typing_extensions==4.7.1
|
133 |
+
tzdata==2023.3
|
134 |
+
uc-micro-py==1.0.2
|
135 |
+
ujson==5.8.0
|
136 |
+
ultralytics==8.0.138
|
137 |
+
urllib3==2.0.3
|
138 |
+
uvicorn==0.23.1
|
139 |
+
wcwidth==0.2.6
|
140 |
+
webencodings==0.5.1
|
141 |
+
websockets==11.0.3
|
142 |
+
widgetsnbextension==4.0.8
|
143 |
+
yacs==0.1.8
|
144 |
+
yarl==1.9.2
|
145 |
+
zipp==3.16.2
|
reverse_image_search.csv
ADDED
@@ -0,0 +1,120 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
id,path,label
|
2 |
+
1,./train/Kim_Jong_Un/Kim_Jong_Un1.JPEG,Kim_Jong_Un
|
3 |
+
2,./train/Kim_Jong_Un/Kim_Jong_Un10.JPEG,Kim_Jong_Un
|
4 |
+
3,./train/Kim_Jong_Un/Kim_Jong_Un6.JPEG,Kim_Jong_Un
|
5 |
+
4,./train/Kim_Jong_Un/Kim_Jong_Un7.JPEG,Kim_Jong_Un
|
6 |
+
5,./train/Kim_Jong_Un/Kim_Jong_Un8.JPEG,Kim_Jong_Un
|
7 |
+
6,./train/Kim_Jong_Un/Kim_Jong_Un4.JPEG,Kim_Jong_Un
|
8 |
+
7,./train/Kim_Jong_Un/Kim_Jong_Un5.JPEG,Kim_Jong_Un
|
9 |
+
8,./train/Kim_Jong_Un/Kim_Jong_Un9.JPEG,Kim_Jong_Un
|
10 |
+
9,./train/Kim_Jong_Un/Kim_Jong_Un2.JPEG,Kim_Jong_Un
|
11 |
+
10,./train/Kim_Jong_Un/Kim_Jong_Un3.JPEG,Kim_Jong_Un
|
12 |
+
11,./train/Barack_Obama/barack_obama1.JPEG,Barack_Obama
|
13 |
+
12,./train/Barack_Obama/barack_obama6.JPEG,Barack_Obama
|
14 |
+
13,./train/Barack_Obama/barack_obama4.JPEG,Barack_Obama
|
15 |
+
14,./train/Barack_Obama/barack obama7.JPEG,Barack_Obama
|
16 |
+
15,./train/Barack_Obama/barack_obama8.JPEG,Barack_Obama
|
17 |
+
16,./train/Barack_Obama/barack_obama10.JPEG,Barack_Obama
|
18 |
+
17,./train/Barack_Obama/barack_obama9.JPEG,Barack_Obama
|
19 |
+
18,./train/Barack_Obama/barack_obama5.JPEG,Barack_Obama
|
20 |
+
19,./train/Barack_Obama/barack_obama2.JPEG,Barack_Obama
|
21 |
+
20,./train/Barack_Obama/barack_obama3.JPEG,Barack_Obama
|
22 |
+
21,./train/Emmanuel_Macron/Emmanuel_Macron7.JPEG,Emmanuel_Macron
|
23 |
+
22,./train/Emmanuel_Macron/Emmanuel_Macron6.JPEG,Emmanuel_Macron
|
24 |
+
23,./train/Emmanuel_Macron/Emmanuel_Macron1.JPEG,Emmanuel_Macron
|
25 |
+
24,./train/Emmanuel_Macron/Emmanuel_Macron3.JPEG,Emmanuel_Macron
|
26 |
+
25,./train/Emmanuel_Macron/Emmanuel_Macron2.JPEG,Emmanuel_Macron
|
27 |
+
26,./train/Emmanuel_Macron/Emmanuel_Macron10.JPEG,Emmanuel_Macron
|
28 |
+
27,./train/Emmanuel_Macron/Emmanuel_Macron5.JPEG,Emmanuel_Macron
|
29 |
+
28,./train/Emmanuel_Macron/Emmanuel_Macron9.JPEG,Emmanuel_Macron
|
30 |
+
29,./train/Emmanuel_Macron/Emmanuel_Macron8.JPEG,Emmanuel_Macron
|
31 |
+
30,./train/Emmanuel_Macron/Emmanuel_Macron4.JPEG,Emmanuel_Macron
|
32 |
+
31,./train/Michelle_Obama/michelle_obama1.JPEG,Michelle_Obama
|
33 |
+
32,./train/Michelle_Obama/michelle_obama10.JPEG,Michelle_Obama
|
34 |
+
33,./train/Michelle_Obama/michelle_obama7.JPEG,Michelle_Obama
|
35 |
+
34,./train/Michelle_Obama/michelle_obama6.JPEG,Michelle_Obama
|
36 |
+
35,./train/Michelle_Obama/michelle_obama5.JPEG,Michelle_Obama
|
37 |
+
36,./train/Michelle_Obama/michelle_obama9.JPEG,Michelle_Obama
|
38 |
+
37,./train/Michelle_Obama/michelle_obama8.JPEG,Michelle_Obama
|
39 |
+
38,./train/Michelle_Obama/michelle_obama4.JPEG,Michelle_Obama
|
40 |
+
39,./train/Michelle_Obama/michelle_obama3.JPEG,Michelle_Obama
|
41 |
+
40,./train/Michelle_Obama/michelle_obama2.JPEG,Michelle_Obama
|
42 |
+
41,./train/Kamala_Harris/Kamala_Harris4.JPEG,Kamala_Harris
|
43 |
+
42,./train/Kamala_Harris/Kamala_Harris8.JPEG,Kamala_Harris
|
44 |
+
43,./train/Kamala_Harris/Kamala_Harris9.JPEG,Kamala_Harris
|
45 |
+
44,./train/Kamala_Harris/Kamala_Harris10.JPEG,Kamala_Harris
|
46 |
+
45,./train/Kamala_Harris/Kamala_Harris5.JPEG,Kamala_Harris
|
47 |
+
46,./train/Kamala_Harris/Kamala_Harris2.JPEG,Kamala_Harris
|
48 |
+
47,./train/Kamala_Harris/Kamala_Harris3.JPEG,Kamala_Harris
|
49 |
+
48,./train/Kamala_Harris/Kamala_Harris1.JPEG,Kamala_Harris
|
50 |
+
49,./train/Kamala_Harris/Kamala_Harris6.JPEG,Kamala_Harris
|
51 |
+
50,./train/Kamala_Harris/Kamala_Harris7.JPEG,Kamala_Harris
|
52 |
+
51,./train/Arvind_kejriwal/Arvind_kejriwal1.JPEG,Arvind_kejriwal
|
53 |
+
52,./train/Arvind_kejriwal/Arvind_kejriwal10.JPEG,Arvind_kejriwal
|
54 |
+
53,./train/Arvind_kejriwal/Arvind_kejriwal7.JPEG,Arvind_kejriwal
|
55 |
+
54,./train/Arvind_kejriwal/Arvind_kejriwal6.JPEG,Arvind_kejriwal
|
56 |
+
55,./train/Arvind_kejriwal/Arvind_kejriwal9.JPEG,Arvind_kejriwal
|
57 |
+
56,./train/Arvind_kejriwal/Arvind_kejriwal5.JPEG,Arvind_kejriwal
|
58 |
+
57,./train/Arvind_kejriwal/Arvind_kejriwal4.JPEG,Arvind_kejriwal
|
59 |
+
58,./train/Arvind_kejriwal/Arvind_kejriwal8.JPEG,Arvind_kejriwal
|
60 |
+
59,./train/Arvind_kejriwal/Arvind_kejriwal3.JPEG,Arvind_kejriwal
|
61 |
+
60,./train/Arvind_kejriwal/Arvind_kejriwal2.JPEG,Arvind_kejriwal
|
62 |
+
61,./train/Joe_Biden/Biden5.JPEG,Joe_Biden
|
63 |
+
62,./train/Joe_Biden/Biden9.JPEG,Joe_Biden
|
64 |
+
63,./train/Joe_Biden/Biden8.JPEG,Joe_Biden
|
65 |
+
64,./train/Joe_Biden/Biden4.JPEG,Joe_Biden
|
66 |
+
65,./train/Joe_Biden/Biden3.JPEG,Joe_Biden
|
67 |
+
66,./train/Joe_Biden/Biden2.JPEG,Joe_Biden
|
68 |
+
67,./train/Joe_Biden/Biden10.JPEG,Joe_Biden
|
69 |
+
68,./train/Joe_Biden/Biden1.JPEG,Joe_Biden
|
70 |
+
69,./train/Joe_Biden/Biden7.JPEG,Joe_Biden
|
71 |
+
70,./train/Joe_Biden/Biden6.JPEG,Joe_Biden
|
72 |
+
71,./train/Ben_Carson/Ben_Carson3.JPEG,Ben_Carson
|
73 |
+
72,./train/Ben_Carson/Ben_Carson2.JPEG,Ben_Carson
|
74 |
+
73,./train/Ben_Carson/Ben_Carson5.JPEG,Ben_Carson
|
75 |
+
74,./train/Ben_Carson/Ben_Carson9.JPEG,Ben_Carson
|
76 |
+
75,./train/Ben_Carson/Ben_Carson8.JPEG,Ben_Carson
|
77 |
+
76,./train/Ben_Carson/Ben_Carson4.JPEG,Ben_Carson
|
78 |
+
77,./train/Ben_Carson/Ben_Carson7.JPEG,Ben_Carson
|
79 |
+
78,./train/Ben_Carson/Ben_Carson6.JPEG,Ben_Carson
|
80 |
+
79,./train/Ben_Carson/Ben_Carson1.JPEG,Ben_Carson
|
81 |
+
80,./train/Ben_Carson/Ben_Carson10.JPEG,Ben_Carson
|
82 |
+
81,./train/Narendra_Modi/narendra_modi8.JPEG,Narendra_Modi
|
83 |
+
82,./train/Narendra_Modi/narendra_modi4.JPEG,Narendra_Modi
|
84 |
+
83,./train/Narendra_Modi/narendra_modi5.JPEG,Narendra_Modi
|
85 |
+
84,./train/Narendra_Modi/narendra_modi9.JPEG,Narendra_Modi
|
86 |
+
85,./train/Narendra_Modi/narendra_modi2.JPEG,Narendra_Modi
|
87 |
+
86,./train/Narendra_Modi/narendra_modi3.JPEG,Narendra_Modi
|
88 |
+
87,./train/Narendra_Modi/narendra_modi1.JPEG,Narendra_Modi
|
89 |
+
88,./train/Narendra_Modi/narendra_modi6.JPEG,Narendra_Modi
|
90 |
+
89,./train/Narendra_Modi/narendra_modi7.JPEG,Narendra_Modi
|
91 |
+
90,./train/Narendra_Modi/narendra_modi10.JPEG,Narendra_Modi
|
92 |
+
91,./train/Rahul_Gandhi/Rahul_Gandhi10.JPEG,Rahul_Gandhi
|
93 |
+
92,./train/Rahul_Gandhi/Rahul_Gandhi1.JPEG,Rahul_Gandhi
|
94 |
+
93,./train/Rahul_Gandhi/Rahul_Gandhi6.JPEG,Rahul_Gandhi
|
95 |
+
94,./train/Rahul_Gandhi/Rahul_Gandhi7.JPEG,Rahul_Gandhi
|
96 |
+
95,./train/Rahul_Gandhi/Rahul_Gandhi8.JPEG,Rahul_Gandhi
|
97 |
+
96,./train/Rahul_Gandhi/Rahul_Gandhi4.JPEG,Rahul_Gandhi
|
98 |
+
97,./train/Rahul_Gandhi/Rahul_Gandhi5.JPEG,Rahul_Gandhi
|
99 |
+
98,./train/Rahul_Gandhi/Rahul_Gandhi9.JPEG,Rahul_Gandhi
|
100 |
+
99,./train/Rahul_Gandhi/Rahul_Gandhi2.JPEG,Rahul_Gandhi
|
101 |
+
100,./train/Rahul_Gandhi/Rahul_Gandhi3.JPEG,Rahul_Gandhi
|
102 |
+
101,./train/Hillary_Clinton/hillary_clinton2.JPEG,Hillary_Clinton
|
103 |
+
102,./train/Hillary_Clinton/hillary_clinton3.JPEG,Hillary_Clinton
|
104 |
+
103,./train/Hillary_Clinton/hillary_clinton8.JPEG,Hillary_Clinton
|
105 |
+
104,./train/Hillary_Clinton/hillary_clinton10.JPEG,Hillary_Clinton
|
106 |
+
105,./train/Hillary_Clinton/hillary_clinton5.JPEG,Hillary_Clinton
|
107 |
+
106,./train/Hillary_Clinton/hillary_clinton9.JPEG,Hillary_Clinton
|
108 |
+
107,./train/Hillary_Clinton/hillary_clinton6.JPEG,Hillary_Clinton
|
109 |
+
108,./train/Hillary_Clinton/hillary_clinton7.JPEG,Hillary_Clinton
|
110 |
+
109,./train/Hillary_Clinton/hillary_clinton1.JPEG,Hillary_Clinton
|
111 |
+
110,./train/Bernie_Sanders/Bernie_Sanders1.JPEG,Bernie_Sanders
|
112 |
+
111,./train/Bernie_Sanders/Bernie_Sanders7.JPEG,Bernie_Sanders
|
113 |
+
112,./train/Bernie_Sanders/Bernie_Sanders6.JPEG,Bernie_Sanders
|
114 |
+
113,./train/Bernie_Sanders/Bernie_Sanders9.JPEG,Bernie_Sanders
|
115 |
+
114,./train/Bernie_Sanders/Bernie_Sanders5.JPEG,Bernie_Sanders
|
116 |
+
115,./train/Bernie_Sanders/Bernie_Sanders4.JPEG,Bernie_Sanders
|
117 |
+
116,./train/Bernie_Sanders/Bernie_Sanders8.JPEG,Bernie_Sanders
|
118 |
+
117,./train/Bernie_Sanders/Bernie_Sanders3.JPEG,Bernie_Sanders
|
119 |
+
118,./train/Bernie_Sanders/Bernie_Sanders10.JPEG,Bernie_Sanders
|
120 |
+
119,./train/Bernie_Sanders/Bernie_Sanders2.JPEG,Bernie_Sanders
|
test/.DS_Store
ADDED
Binary file (10.2 kB). View file
|
|
test/Arvind_kejriwal/.DS_Store
ADDED
Binary file (6.15 kB). View file
|
|
test/Arvind_kejriwal/Arvind_kejriwal11.JPEG
ADDED
test/Barack_Obama/.DS_Store
ADDED
Binary file (6.15 kB). View file
|
|
test/Barack_Obama/barack_obama11.JPEG
ADDED
test/Ben_Carson/.DS_Store
ADDED
Binary file (6.15 kB). View file
|
|
test/Ben_Carson/Ben_Carson11.JPEG
ADDED
test/Bernie_Sanders/.DS_Store
ADDED
Binary file (6.15 kB). View file
|
|
test/Bernie_Sanders/Bernie_Sanders17.JPEG
ADDED
test/Emmanuel_Macron/.DS_Store
ADDED
Binary file (6.15 kB). View file
|
|
test/Emmanuel_Macron/Emmanuel_Macron11.JPEG
ADDED
test/Hillary_Clinton/.DS_Store
ADDED
Binary file (6.15 kB). View file
|
|
test/Hillary_Clinton/Hillary_Clinton11.JPEG
ADDED
test/Joe_Biden/.DS_Store
ADDED
Binary file (6.15 kB). View file
|
|
test/Joe_Biden/Biden11.JPEG
ADDED
test/Kamala_Harris/.DS_Store
ADDED
Binary file (6.15 kB). View file
|
|
test/Kamala_Harris/Kamala_Harris11.JPEG
ADDED
test/Kim_Jong_Un/.DS_Store
ADDED
Binary file (6.15 kB). View file
|
|
test/Kim_Jong_Un/Kim_Jong_Un11.JPEG
ADDED
test/Michelle_Obama/.DS_Store
ADDED
Binary file (6.15 kB). View file
|
|
test/Michelle_Obama/Michelle_Obama11.JPEG
ADDED
test/Narendra_Modi/.DS_Store
ADDED
Binary file (6.15 kB). View file
|
|
test/Narendra_Modi/narendra_modi11.JPEG
ADDED
test/Rahul_Gandhi/.DS_Store
ADDED
Binary file (6.15 kB). View file
|
|
test/Rahul_Gandhi/Rahul_Gandhi17.JPEG
ADDED
train/.DS_Store
ADDED
Binary file (10.2 kB). View file
|
|
train/Arvind_kejriwal/.DS_Store
ADDED
Binary file (6.15 kB). View file
|
|
train/Arvind_kejriwal/Arvind_kejriwal1.JPEG
ADDED
train/Arvind_kejriwal/Arvind_kejriwal10.JPEG
ADDED
train/Arvind_kejriwal/Arvind_kejriwal2.JPEG
ADDED
train/Arvind_kejriwal/Arvind_kejriwal3.JPEG
ADDED
train/Arvind_kejriwal/Arvind_kejriwal4.JPEG
ADDED
train/Arvind_kejriwal/Arvind_kejriwal5.JPEG
ADDED
train/Arvind_kejriwal/Arvind_kejriwal6.JPEG
ADDED
train/Arvind_kejriwal/Arvind_kejriwal7.JPEG
ADDED
train/Arvind_kejriwal/Arvind_kejriwal8.JPEG
ADDED
train/Arvind_kejriwal/Arvind_kejriwal9.JPEG
ADDED
train/Barack_Obama/.DS_Store
ADDED
Binary file (6.15 kB). View file
|
|
train/Barack_Obama/barack obama7.JPEG
ADDED
train/Barack_Obama/barack_obama1.JPEG
ADDED
train/Barack_Obama/barack_obama10.JPEG
ADDED
train/Barack_Obama/barack_obama2.JPEG
ADDED