MogensR commited on
Commit
804a19f
·
1 Parent(s): a7c3f7d

Update core/app.py

Browse files
Files changed (1) hide show
  1. core/app.py +21 -6
core/app.py CHANGED
@@ -79,7 +79,13 @@ def __init__(self):
79
  self.config = get_config() # Use singleton config
80
  self.device_manager = DeviceManager()
81
  self.memory_manager = MemoryManager(self.device_manager.get_optimal_device())
82
- self.model_loader = ModelLoader(self.device_manager, self.memory_manager)
 
 
 
 
 
 
83
  self.audio_processor = AudioProcessor()
84
  self.progress_tracker = None
85
 
@@ -125,8 +131,8 @@ def load_models(self, progress_callback: Optional[Callable] = None) -> str:
125
  progress_callback(0.0, f"Starting model loading on {self.device_manager.get_optimal_device()}")
126
 
127
  # Load models using the specialized loader
128
- # Note: load_models returns a boolean, not the models themselves
129
- success = self.model_loader.load_models()
130
 
131
  if self.cancel_event.is_set():
132
  return "Model loading cancelled"
@@ -168,13 +174,18 @@ def load_models(self, progress_callback: Optional[Callable] = None) -> str:
168
 
169
  # Add two-stage status to message
170
  if self.two_stage_processor is not None:
171
- message += "\n✅ Two-stage processor ready"
172
  else:
173
  message += "\n⚠️ Two-stage processor not available"
174
 
175
  logger.info(message)
176
  return message
177
 
 
 
 
 
 
178
  except ModelLoadingError as e:
179
  self.models_loaded = False
180
  error_msg = f"Model loading failed: {str(e)}"
@@ -359,8 +370,12 @@ def get_status(self) -> Dict[str, Any]:
359
  # Add model-specific status if available
360
  if self.model_loader:
361
  base_status['model_loader_available'] = True
362
- base_status['sam2_loaded'] = self.model_loader.get_sam2() is not None
363
- base_status['matanyone_loaded'] = self.model_loader.get_matanyone() is not None
 
 
 
 
364
 
365
  # Add processing status if available
366
  if self.core_processor:
 
79
  self.config = get_config() # Use singleton config
80
  self.device_manager = DeviceManager()
81
  self.memory_manager = MemoryManager(self.device_manager.get_optimal_device())
82
+
83
+ # Initialize ModelLoader with correct parameters (cache_dir and device string)
84
+ self.model_loader = ModelLoader(
85
+ cache_dir=None, # Will use default cache directory
86
+ device=self.device_manager.get_optimal_device() # Pass device string, not manager object
87
+ )
88
+
89
  self.audio_processor = AudioProcessor()
90
  self.progress_tracker = None
91
 
 
131
  progress_callback(0.0, f"Starting model loading on {self.device_manager.get_optimal_device()}")
132
 
133
  # Load models using the specialized loader
134
+ # load_models() returns a boolean indicating success
135
+ success = self.model_loader.load_models(force_reload=False)
136
 
137
  if self.cancel_event.is_set():
138
  return "Model loading cancelled"
 
174
 
175
  # Add two-stage status to message
176
  if self.two_stage_processor is not None:
177
+ message += "\n✅ Two-stage processor ready with AI models"
178
  else:
179
  message += "\n⚠️ Two-stage processor not available"
180
 
181
  logger.info(message)
182
  return message
183
 
184
+ except AttributeError as e:
185
+ self.models_loaded = False
186
+ error_msg = f"Model loading failed - method not found: {str(e)}"
187
+ logger.error(error_msg)
188
+ return error_msg
189
  except ModelLoadingError as e:
190
  self.models_loaded = False
191
  error_msg = f"Model loading failed: {str(e)}"
 
370
  # Add model-specific status if available
371
  if self.model_loader:
372
  base_status['model_loader_available'] = True
373
+ try:
374
+ base_status['sam2_loaded'] = self.model_loader.get_sam2() is not None
375
+ base_status['matanyone_loaded'] = self.model_loader.get_matanyone() is not None
376
+ except AttributeError:
377
+ base_status['sam2_loaded'] = False
378
+ base_status['matanyone_loaded'] = False
379
 
380
  # Add processing status if available
381
  if self.core_processor: