Update core/app.py
Browse files- 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 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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 |
-
#
|
| 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 |
-
|
| 363 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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:
|