File size: 1,344 Bytes
e93b7b1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
import configparser
import gradio as gr
import numpy as np
from search_engine_model import SearchEngineModel
def get_image_embeddings(input_image_paths_list):
search_engine_model = SearchEngineModel()
model, preprocess = search_engine_model.load_clip_model()
image_embeddings_list = []
for current_input_image_path_aux in input_image_paths_list:
current_image_embeddings = search_engine_model.encode_image(model, preprocess, current_input_image_path_aux)
image_embeddings_list.append(current_image_embeddings.values[0])
image_embeddings_np = np.array(image_embeddings_list)
return image_embeddings_np
def main():
config_manager_obj = configparser.ConfigParser()
config_manager_obj.read('./config.cfg')
main_app = gr.Interface(
fn=get_image_embeddings,
inputs=[
gr.File(label="Upload Image", file_count="multiple"),
],
outputs=[
gr.Dataframe(type='numpy'),
],
title="CLIP Image Embeddings",
description="Obtain the embeddings of the input images",
flagging_mode="never"
)
HOST_IP_ADDRESS = config_manager_obj['SERVER']['HOST_IP_ADDRESS']
PORT_NUMBER = int(config_manager_obj['SERVER']['PORT_NUMBER'])
main_app.launch(server_name=HOST_IP_ADDRESS, server_port=PORT_NUMBER)
main() |