from sklearn.metrics.pairwise import cosine_similarity from sentence_transformers import SentenceTransformer import datasets import gradio as gr #model = SentenceTransformer('clip-ViT-B-16') model = SentenceTransformer('clip-ViT-B-32') dataset = datasets.load_dataset('brendenc/celeb-identities') def predict(im1, im2): embeddings = model.encode([im1, im2]) sim = cosine_similarity(embeddings) sim = sim[0, 1] if sim > 0.82: return sim, "SAME PERSON, AUTHORIZE PAYMENT" else: return sim, "DIFFERENT PEOPLE, DON'T AUTHORIZE PAYMENT" interface = gr.Interface(fn=predict, inputs= [gr.Image(value = dataset['train']['image'][10], type="pil", source="webcam"), gr.Image(value = dataset['train']['image'][17], type="pil", source="webcam")], outputs= [gr.Number(label="Similarity"), gr.Textbox(label="Message")], title = 'Face ID', description = 'This app uses face biometrics and a similarity to function as a Face ID application.The similarity score ranges from -1 to 1.' ) interface.launch(debug=True) #interface.launch(share=True)