msabia commited on
Commit
9b9f868
·
verified ·
1 Parent(s): 2acc894

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +56 -0
app.py ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import torch
3
+ import numpy as np
4
+ import h5py
5
+ import faiss
6
+ from PIL import Image
7
+ import io
8
+ import pickle
9
+
10
+ def searchEmbeddings(id):
11
+ # variable and index initialization
12
+ dim = 768
13
+ count = 0
14
+ num_neighbors = 10
15
+
16
+ image_index = faiss.IndexFlatIP(dim)
17
+
18
+ # get index
19
+ image_index = faiss.read_index("image_index.index")
20
+
21
+ # search for query
22
+ query = id_to_emb_dict[id]
23
+ query = query.astype(np.float32)
24
+ D, I = image_index.search(query, num_neighbors)
25
+
26
+ id_list = []
27
+ i = 1
28
+ for indx in I[0]:
29
+ id = indx_to_id_dict[indx]
30
+ id_list.append(id)
31
+
32
+ return id_list
33
+
34
+ with gr.Blocks() as demo:
35
+
36
+ with open("dataset_processid_list.pickle", "rb") as f:
37
+ dataset_processid_list = pickle.load(f)
38
+ with open("dataset_image_mask.pickle", "rb") as f:
39
+ dataset_image_mask = pickle.load(f)
40
+ with open("processid_to_index.pickle", "rb") as f:
41
+ processid_to_index = pickle.load(f)
42
+ with open("id_to_emb_dict.pickle", "rb") as f:
43
+ id_to_emb_dict = pickle.load(f)
44
+ with open("indx_to_id.pickle", "rb") as f:
45
+ indx_to_id_dict = pickle.load(f)
46
+
47
+ with gr.Column():
48
+ process_id = gr.Textbox(label="ID:", info="Enter a sample ID to search for")
49
+ process_id_list = gr.Textbox(label="Closest 10 matches:" )
50
+ search_btn = gr.Button("Search")
51
+
52
+ search_btn.click(fn=searchEmbeddings, inputs=process_id,
53
+ outputs=[process_id_list])
54
+
55
+ # ARONZ671-20
56
+ demo.launch()