Update app.py
Browse files
app.py
CHANGED
|
@@ -11,9 +11,9 @@ def download_image(image_url):
|
|
| 11 |
response = requests.get(image_url)
|
| 12 |
response.raise_for_status() # Vérifie s'il y a des erreurs dans la requête
|
| 13 |
|
| 14 |
-
# Ouvrir l'image à partir du contenu de la réponse
|
| 15 |
-
image = Image.open(BytesIO(response.content))
|
| 16 |
-
return image # Renvoie l'image
|
| 17 |
except requests.exceptions.RequestException as e:
|
| 18 |
print(f"Erreur lors du téléchargement de l'image : {e}")
|
| 19 |
except Exception as e:
|
|
@@ -30,9 +30,11 @@ if image is not None:
|
|
| 30 |
processor = DetrImageProcessor.from_pretrained("facebook/detr-resnet-50", revision="no_timm")
|
| 31 |
model = DetrForObjectDetection.from_pretrained("facebook/detr-resnet-50", revision="no_timm")
|
| 32 |
|
| 33 |
-
#
|
| 34 |
-
|
| 35 |
-
|
|
|
|
|
|
|
| 36 |
|
| 37 |
# Convertir les sorties (bounding boxes et logits de classes) en API COCO
|
| 38 |
target_sizes = torch.tensor([image.size[::-1]]) # Inverser la taille pour correspondre aux attentes du modèle
|
|
|
|
| 11 |
response = requests.get(image_url)
|
| 12 |
response.raise_for_status() # Vérifie s'il y a des erreurs dans la requête
|
| 13 |
|
| 14 |
+
# Ouvrir l'image à partir du contenu de la réponse et convertir en RGB
|
| 15 |
+
image = Image.open(BytesIO(response.content)).convert("RGB")
|
| 16 |
+
return image # Renvoie l'image convertie
|
| 17 |
except requests.exceptions.RequestException as e:
|
| 18 |
print(f"Erreur lors du téléchargement de l'image : {e}")
|
| 19 |
except Exception as e:
|
|
|
|
| 30 |
processor = DetrImageProcessor.from_pretrained("facebook/detr-resnet-50", revision="no_timm")
|
| 31 |
model = DetrForObjectDetection.from_pretrained("facebook/detr-resnet-50", revision="no_timm")
|
| 32 |
|
| 33 |
+
# Convertir l'image PIL en tensor
|
| 34 |
+
image_tensor = torch.tensor([processor(image, return_tensors="pt")['pixel_values'][0]])
|
| 35 |
+
|
| 36 |
+
# Passer l'image au modèle
|
| 37 |
+
outputs = model(image_tensor)
|
| 38 |
|
| 39 |
# Convertir les sorties (bounding boxes et logits de classes) en API COCO
|
| 40 |
target_sizes = torch.tensor([image.size[::-1]]) # Inverser la taille pour correspondre aux attentes du modèle
|