Safi029 commited on
Commit
3263193
·
verified ·
1 Parent(s): c6047af

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -19
app.py CHANGED
@@ -8,30 +8,25 @@ import os
8
  import hashlib
9
  from typing import Optional
10
 
11
- # ===== MODEL COMPONENTS =====
12
  from torch.nn import Sequential, Conv2d, BatchNorm2d, SiLU, ReLU, LeakyReLU, MaxPool2d, Upsample, ModuleList
13
- from ultralytics.nn.modules.conv import Conv, Concat # Added Concat
14
  from ultralytics.nn.modules.block import Bottleneck, C2f, SPPF
 
15
  from ultralytics.nn.tasks import DetectionModel
16
 
17
- # ===== SAFE GLOBALS =====
18
- # Add all components including Concat to safe globals
19
  torch.serialization.add_safe_globals([
 
 
 
 
 
20
  DetectionModel,
21
- Sequential,
22
- Conv,
23
- Concat, # Explicitly added
24
- Conv2d,
25
- BatchNorm2d,
26
- SiLU,
27
- ReLU,
28
- LeakyReLU,
29
- Bottleneck,
30
- C2f,
31
- SPPF,
32
- ModuleList,
33
- MaxPool2d,
34
- Upsample
35
  ])
36
 
37
  # ===== MODEL CONFIG =====
@@ -73,7 +68,10 @@ def load_model(model_path: str) -> YOLO:
73
  """Safely load YOLO model with error handling"""
74
  print("🔧 Loading model...")
75
  try:
76
- model = YOLO(model_path)
 
 
 
77
  # Test with small dummy input
78
  with torch.no_grad():
79
  dummy = torch.zeros(1, 3, 640, 640)
 
8
  import hashlib
9
  from typing import Optional
10
 
11
+ # ===== IMPORT ALL NECESSARY MODULES =====
12
  from torch.nn import Sequential, Conv2d, BatchNorm2d, SiLU, ReLU, LeakyReLU, MaxPool2d, Upsample, ModuleList
13
+ from ultralytics.nn.modules.conv import Conv, Concat
14
  from ultralytics.nn.modules.block import Bottleneck, C2f, SPPF
15
+ from ultralytics.nn.modules.head import Detect # Added Detect
16
  from ultralytics.nn.tasks import DetectionModel
17
 
18
+ # ===== SAFE GLOBALS CONFIGURATION =====
19
+ # Add all components to safe globals
20
  torch.serialization.add_safe_globals([
21
+ # Torch modules
22
+ Sequential, Conv2d, BatchNorm2d, SiLU, ReLU, LeakyReLU,
23
+ MaxPool2d, Upsample, ModuleList,
24
+
25
+ # Ultralytics modules
26
  DetectionModel,
27
+ Conv, Concat,
28
+ Bottleneck, C2f, SPPF,
29
+ Detect, # Added Detect head
 
 
 
 
 
 
 
 
 
 
 
30
  ])
31
 
32
  # ===== MODEL CONFIG =====
 
68
  """Safely load YOLO model with error handling"""
69
  print("🔧 Loading model...")
70
  try:
71
+ # Temporary workaround for PyTorch 2.6+ weights_only=True issues
72
+ # Only use if you trust the model source!
73
+ model = YOLO(model_path, task='detect')
74
+
75
  # Test with small dummy input
76
  with torch.no_grad():
77
  dummy = torch.zeros(1, 3, 640, 640)