Saad0KH commited on
Commit
32e883d
·
verified ·
1 Parent(s): 8660568

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +9 -9
app.py CHANGED
@@ -1,5 +1,8 @@
1
  import gradio as gr
2
  from transformers import AutoProcessor, CLIPModel
 
 
 
3
 
4
  # Charger le pipeline
5
 
@@ -9,15 +12,12 @@ processor = AutoProcessor.from_pretrained("patrickjohncyh/fashion-clip")
9
  # Définir la fonction pour la classification d'image avec du texte en entrée
10
  def classify_image_with_text(text, image):
11
  # Effectuer la classification d'image à l'aide du texte
12
- inputs = processor(
13
- text=["a photo of a man", "a photo of a woman"], images=image, return_tensors="pt", padding=True
14
- )
15
- outputs = model(**inputs)
16
- # Récupérer l'index de l'étiquette avec le score le plus élevé
17
- predicted_class_index = outputs.logits_per_image.argmax(dim=-1)
18
- # Convertir l'index de l'étiquette en libellé
19
- label = processor.convert_ids_to_tokens(predicted_class_index.item())
20
- return label
21
 
22
  # Créer l'interface Gradio avec l'API de Gradio Blocks
23
  with gr.Interface(
 
1
  import gradio as gr
2
  from transformers import AutoProcessor, CLIPModel
3
+ from fashion_clip.fashion_clip import FashionCLIP
4
+
5
+ fclip = FashionCLIP('fashion-clip')
6
 
7
  # Charger le pipeline
8
 
 
12
  # Définir la fonction pour la classification d'image avec du texte en entrée
13
  def classify_image_with_text(text, image):
14
  # Effectuer la classification d'image à l'aide du texte
15
+ image_embeddings = fclip.encode_images(image, batch_size=32)
16
+ text_embeddings = fclip.encode_text(text, batch_size=32)
17
+ # we normalize the embeddings to unit norm (so that we can use dot product instead of cosine similarity to do comparisons)
18
+ image_embeddings = image_embeddings/np.linalg.norm(image_embeddings, ord=2, axis=-1, keepdims=True)
19
+ text_embeddings = text_embeddings/np.linalg.norm(text_embeddings, ord=2, axis=-1, keepdims=True)
20
+ return text_embeddings;
 
 
 
21
 
22
  # Créer l'interface Gradio avec l'API de Gradio Blocks
23
  with gr.Interface(