Spaces:
Sleeping
Sleeping
Update src/streamlit_app.py
Browse files- src/streamlit_app.py +18 -6
src/streamlit_app.py
CHANGED
@@ -69,11 +69,17 @@ def query_similar_images(image_file, top_k=5):
|
|
69 |
tmp.flush()
|
70 |
res = image_collection.query(query_uris=[tmp.name], n_results=top_k)
|
71 |
os.remove(tmp.name)
|
|
|
|
|
|
|
72 |
return res['uris'][0]
|
73 |
|
74 |
# --- Text-to-Image search ---
|
75 |
def search_images_by_text(text, top_k=5):
|
76 |
res = image_collection.query(query_texts=[text], n_results=top_k)
|
|
|
|
|
|
|
77 |
return res['uris'][0]
|
78 |
|
79 |
# --- Load CIFAR-10 Demo Dataset (500 images) ---
|
@@ -141,9 +147,12 @@ if q:
|
|
141 |
st.image(q, caption="Query Image", width=200)
|
142 |
with st.spinner("Finding similar images..."):
|
143 |
results = query_similar_images(q, top_k=5)
|
144 |
-
|
145 |
-
|
146 |
-
|
|
|
|
|
|
|
147 |
|
148 |
st.divider()
|
149 |
st.subheader("π Text-to-Image Search")
|
@@ -151,6 +160,9 @@ txt = st.text_input("Describe what youβre looking for (e.g., 'a beach', 'a cat
|
|
151 |
if txt:
|
152 |
with st.spinner("Finding images by semantic similarity..."):
|
153 |
results = search_images_by_text(txt, top_k=5)
|
154 |
-
|
155 |
-
|
156 |
-
|
|
|
|
|
|
|
|
69 |
tmp.flush()
|
70 |
res = image_collection.query(query_uris=[tmp.name], n_results=top_k)
|
71 |
os.remove(tmp.name)
|
72 |
+
# Safe check for results
|
73 |
+
if not res or 'uris' not in res or not res['uris'] or not res['uris'][0]:
|
74 |
+
return []
|
75 |
return res['uris'][0]
|
76 |
|
77 |
# --- Text-to-Image search ---
|
78 |
def search_images_by_text(text, top_k=5):
|
79 |
res = image_collection.query(query_texts=[text], n_results=top_k)
|
80 |
+
# Safe check for results
|
81 |
+
if not res or 'uris' not in res or not res['uris'] or not res['uris'][0]:
|
82 |
+
return []
|
83 |
return res['uris'][0]
|
84 |
|
85 |
# --- Load CIFAR-10 Demo Dataset (500 images) ---
|
|
|
147 |
st.image(q, caption="Query Image", width=200)
|
148 |
with st.spinner("Finding similar images..."):
|
149 |
results = query_similar_images(q, top_k=5)
|
150 |
+
if not results:
|
151 |
+
st.warning("No similar images found.")
|
152 |
+
else:
|
153 |
+
st.subheader("π Top Matches:")
|
154 |
+
for u in results:
|
155 |
+
st.image(u, width=150)
|
156 |
|
157 |
st.divider()
|
158 |
st.subheader("π Text-to-Image Search")
|
|
|
160 |
if txt:
|
161 |
with st.spinner("Finding images by semantic similarity..."):
|
162 |
results = search_images_by_text(txt, top_k=5)
|
163 |
+
if not results:
|
164 |
+
st.warning("No semantic matches found.")
|
165 |
+
else:
|
166 |
+
st.subheader("π Semantic Matches:")
|
167 |
+
for u in results:
|
168 |
+
st.image(u, width=150)
|