import gradio as gr import matplotlib.pyplot as plt from sentence_transformers import SentenceTransformer from sklearn.metrics.pairwise import cosine_similarity def predict(im1, im2): model, theta = SentenceTransformer('sentence-transformers/clip-ViT-L-14'), 0.55 emb1, emb2 = model.encode(im1), model.encode(im2) sim = cosine_similarity(emb1.reshape(1, -1), emb2.reshape(1, -1))[0][0] if sim > theta: return sim, 'User authenticated. Phone unlocked' else: return sim, 'Unrecognized user. Unable to unlock phone' interface = gr.Interface(fn=predict, inputs= [gr.Image(type='pil', source='webcam'), gr.Image(type='pil', source='webcam')], outputs= [gr.Number(label='Similarity'), gr.Textbox(label='Message')] ) interface.launch(debug=True)