Spaces:
Running
Running
Update app.py
Browse files
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 |
-
|
13 |
-
|
14 |
-
)
|
15 |
-
|
16 |
-
|
17 |
-
|
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(
|