Spaces:
Sleeping
Sleeping
from utils.utils import get_logger, initialization, get_result | |
import gradio as gr | |
import logging | |
logger = get_logger() | |
collection = None | |
def main(query): | |
logger = logging.getLogger(__name__) | |
print("Starting search...") | |
logger.info("Starting search...") | |
print("-------------------------------------------------------") | |
logger.info("-------------------------------------------------------") | |
exit = False | |
while not exit: | |
# Collect user query | |
# query = input('Type your query, or "exit" if you want to exit: ') | |
if query == "exit": | |
exit = True | |
print("-------------------------------------------------------") | |
logger.info("-------------------------------------------------------") | |
print("Search terminated.") | |
logger.info("Search terminated.") | |
return None, "Search terminated." | |
else: | |
# Get search result including the original descriptions of the images | |
image, text = get_result(collection, data_set, query, model, n_results=2) | |
# Display the image, its caption, and user query | |
# show_image(image, text, query) | |
return image, text | |
if __name__ == "__main__": | |
try: | |
if collection == None: | |
collection, data_set, model, logger = initialization(logger) | |
# main() | |
app = gr.Interface( | |
fn=main, | |
inputs=[gr.Textbox(label="Describe the scene that you are looking for:")], | |
outputs=[gr.Image(label="Here's the scene found based on your description:"), | |
gr.Textbox(label="Original description of the found scene:")], | |
title="Search for a scene in the world of GTA!" | |
) | |
app.launch(share=True) | |
except Exception as e: | |
logger.exception(e) | |
raise e |