Update app.py
Browse files
app.py
CHANGED
|
@@ -5,17 +5,22 @@ from PIL import Image
|
|
| 5 |
import torch
|
| 6 |
from transformers import DetrImageProcessor, DetrForObjectDetection
|
| 7 |
import os
|
|
|
|
| 8 |
|
| 9 |
# Load DETR model for object detection
|
| 10 |
-
# We use try-except to handle potential model loading issues in constrained environments
|
| 11 |
try:
|
| 12 |
processor = DetrImageProcessor.from_pretrained("facebook/detr-resnet-50")
|
| 13 |
model = DetrForObjectDetection.from_pretrained("facebook/detr-resnet-50")
|
|
|
|
|
|
|
|
|
|
|
|
|
| 14 |
except Exception as e:
|
| 15 |
print(f"Error loading model: {e}")
|
| 16 |
processor = None
|
| 17 |
model = None
|
| 18 |
|
|
|
|
| 19 |
def detect_objects(image):
|
| 20 |
"""
|
| 21 |
Detect objects in an image using DETR model
|
|
@@ -144,3 +149,4 @@ with gr.Blocks(title="Object Scanner", theme=gr.themes.Soft()) as demo:
|
|
| 144 |
|
| 145 |
if __name__ == "__main__":
|
| 146 |
demo.launch()
|
|
|
|
|
|
| 5 |
import torch
|
| 6 |
from transformers import DetrImageProcessor, DetrForObjectDetection
|
| 7 |
import os
|
| 8 |
+
import spaces
|
| 9 |
|
| 10 |
# Load DETR model for object detection
|
|
|
|
| 11 |
try:
|
| 12 |
processor = DetrImageProcessor.from_pretrained("facebook/detr-resnet-50")
|
| 13 |
model = DetrForObjectDetection.from_pretrained("facebook/detr-resnet-50")
|
| 14 |
+
# Warm up the model
|
| 15 |
+
dummy_input = processor(images=np.zeros((100, 100, 3)), return_tensors="pt")
|
| 16 |
+
with torch.no_grad():
|
| 17 |
+
_ = model(**dummy_input)
|
| 18 |
except Exception as e:
|
| 19 |
print(f"Error loading model: {e}")
|
| 20 |
processor = None
|
| 21 |
model = None
|
| 22 |
|
| 23 |
+
@spaces.GPU
|
| 24 |
def detect_objects(image):
|
| 25 |
"""
|
| 26 |
Detect objects in an image using DETR model
|
|
|
|
| 149 |
|
| 150 |
if __name__ == "__main__":
|
| 151 |
demo.launch()
|
| 152 |
+
|