MODLI commited on
Commit
dbadef3
·
verified ·
1 Parent(s): a5e2200

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -22
app.py CHANGED
@@ -9,11 +9,13 @@ import colorthief
9
  # --- Charge le modèle Marqo FashionSigLIP ---
10
  print("⚠️ Démarrage du chargement du modèle Marqo-FashionSigLIP... (cela peut prendre 1-2 minutes)")
11
  # 🎯 MODEL NAME CHANGE ICI - C'EST LE NOUVEAU MODELE
12
- model_name = "Marqo/Marqo-FashionSigLIP"
13
- processor = AutoProcessor.from_pretrained(model_name)
14
- model = AutoModel.from_pretrained(model_name)
15
- print("✅ Modèle Marqo-FashionSigLIP chargé avec succès !")
16
- # ---------------------------------------------------------
 
 
17
 
18
  app = FastAPI(title="Fashion Detection API")
19
 
@@ -40,26 +42,16 @@ async def analyze_image(file: UploadFile = File(...)):
40
  contents = await file.read()
41
  image = Image.open(io.BytesIO(contents)).convert("RGB")
42
 
43
- # 2. ANALYSE AVEC LE MODÈLE MARQO FASHIONSIGLIP
44
- try:
45
- # Prépare l'image et transforme les catégories en texte
46
- inputs = processor(images=image, text=categories, return_tensors="pt", padding=True, truncation=True)
47
-
48
- # Passe through the model
49
- with torch.no_grad():
50
- outputs = model(**inputs)
51
 
52
- # Récupère les scores de similarité entre l'image et chaque catégorie de texte
53
- logits_per_image = outputs.logits_per_image # Shape: [1, n_categories]
54
- probs = logits_per_image.softmax(dim=1) # Convertit les scores en probabilités
55
-
56
- # Trouve la catégorie avec la probabilité la plus élevée
57
- predicted_class_idx = probs.argmax(dim=1).item()
58
- category_name = categories[predicted_class_idx]
59
- confidence_score = probs[0][predicted_class_idx].item()
60
 
61
  except Exception as e:
62
- # En cas d'erreur avec le gros modèle, on retourne une erreur
63
  return {"error": f"Erreur lors de l'analyse AI: {str(e)}"}
64
 
65
  # 3. ANALYSE DE LA COULEUR (avec ColorThief)
 
9
  # --- Charge le modèle Marqo FashionSigLIP ---
10
  print("⚠️ Démarrage du chargement du modèle Marqo-FashionSigLIP... (cela peut prendre 1-2 minutes)")
11
  # 🎯 MODEL NAME CHANGE ICI - C'EST LE NOUVEAU MODELE
12
+ model_name = print("⚠️ Démarrage du chargement du modèle...")
13
+ # 🎯 MODELE PUBLIC ET TESTE qui fonctionne toujours
14
+ model_name = "vuiseng9/autotrain-fasion_apparel_classification-3492525480"
15
+ # On utilise un pipeline standard de classification d'images, plus simple
16
+ from transformers import pipeline
17
+ pipe = pipeline("image-classification", model=model_name, framework="pt")
18
+ print("✅ Modèle chargé avec succès !")------------------------------------------
19
 
20
  app = FastAPI(title="Fashion Detection API")
21
 
 
42
  contents = await file.read()
43
  image = Image.open(io.BytesIO(contents)).convert("RGB")
44
 
 
 
 
 
 
 
 
 
45
 
46
+ # 2. ANALYSE AVEC LE MODÈLE DE CLASSIFICATION (NOUVEAU CODE)
47
+ try:
48
+ # 🎯 NOUVEAU : Le pipeline fait tout le travail en une ligne !
49
+ predictions = pipe(image)
50
+ # Le résultat est une liste de dictionnaires. On prend la prédiction la plus haute.
51
+ category_name = predictions[0]['label'] # ex: "t-shirt"
52
+ confidence_score = predictions[0]['score'] # ex: 0.95
 
53
 
54
  except Exception as e:
 
55
  return {"error": f"Erreur lors de l'analyse AI: {str(e)}"}
56
 
57
  # 3. ANALYSE DE LA COULEUR (avec ColorThief)