HassanDataSci commited on
Commit
96959fb
·
verified ·
1 Parent(s): 104786a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +20 -20
app.py CHANGED
@@ -1,26 +1,26 @@
1
- import numpy as np
 
2
  from PIL import Image
3
- from transformers import AutoImageProcessor, AutoModelForImageClassification
4
 
5
- # Load the model and image processor
6
- processor = AutoImageProcessor.from_pretrained("beingamit99/car_damage_detection")
7
- model = AutoModelForImageClassification.from_pretrained("beingamit99/car_damage_detection")
8
 
9
- # Load and process the image
10
- image = Image.open(IMAGE)
11
- inputs = processor(images=image, return_tensors="pt")
12
 
13
- # Make predictions
14
  outputs = model(**inputs)
15
- logits = outputs.logits.detach().cpu().numpy()
16
- predicted_class_id = np.argmax(logits)
17
- predicted_proba = np.max(logits)
18
- label_map = model.config.id2label
19
- predicted_class_name = label_map[predicted_class_id]
20
 
21
- # Print the results
22
- print(f"Predicted class: {predicted_class_name} (probability: {predicted_proba:.4f}")
23
- from transformers import pipeline
24
- #Create a classification pipeline
25
- pipe = pipeline("image-classification", model="beingamit99/car_damage_detection")
26
- pipe(IMAGE)
 
 
 
 
 
 
1
+ from transformers import DetrImageProcessor, DetrForObjectDetection
2
+ import torch
3
  from PIL import Image
4
+ import requests
5
 
6
+ url = "http://images.cocodataset.org/val2017/000000039769.jpg"
7
+ image = Image.open(requests.get(url, stream=True).raw)
 
8
 
9
+ # you can specify the revision tag if you don't want the timm dependency
10
+ processor = DetrImageProcessor.from_pretrained("facebook/detr-resnet-50", revision="no_timm")
11
+ model = DetrForObjectDetection.from_pretrained("facebook/detr-resnet-50", revision="no_timm")
12
 
13
+ inputs = processor(images=image, return_tensors="pt")
14
  outputs = model(**inputs)
 
 
 
 
 
15
 
16
+ # convert outputs (bounding boxes and class logits) to COCO API
17
+ # let's only keep detections with score > 0.9
18
+ target_sizes = torch.tensor([image.size[::-1]])
19
+ results = processor.post_process_object_detection(outputs, target_sizes=target_sizes, threshold=0.9)[0]
20
+
21
+ for score, label, box in zip(results["scores"], results["labels"], results["boxes"]):
22
+ box = [round(i, 2) for i in box.tolist()]
23
+ print(
24
+ f"Detected {model.config.id2label[label.item()]} with confidence "
25
+ f"{round(score.item(), 3)} at location {box}"
26
+ )