MogensR commited on
Commit
d51cab4
·
1 Parent(s): 33839bc

Update models/loaders/model_loader.py

Browse files
Files changed (1) hide show
  1. models/loaders/model_loader.py +25 -4
models/loaders/model_loader.py CHANGED
@@ -108,7 +108,8 @@ def load_all_models(
108
  progress_callback(0.1, "Loading SAM2 model...")
109
 
110
  sam2_start = time.time()
111
- sam2_model = self.sam2_loader.load()
 
112
  sam2_time = time.time() - sam2_start
113
 
114
  if sam2_model:
@@ -306,7 +307,14 @@ def _cleanup_models(self):
306
  """Internal cleanup of loaded models"""
307
  # Clean up SAM2
308
  if self.sam2_loader:
309
- self.sam2_loader.cleanup()
 
 
 
 
 
 
 
310
  if self.sam2_predictor:
311
  try:
312
  del self.sam2_predictor
@@ -316,7 +324,20 @@ def _cleanup_models(self):
316
 
317
  # Clean up MatAnyone
318
  if self.matanyone_loader:
319
- self.matanyone_loader.cleanup()
 
 
 
 
 
 
 
 
 
 
 
 
 
320
  if self.matanyone_model:
321
  try:
322
  del self.matanyone_model
@@ -331,4 +352,4 @@ def _cleanup_models(self):
331
  # Garbage collection
332
  gc.collect()
333
 
334
- logger.debug("Model cleanup completed")
 
108
  progress_callback(0.1, "Loading SAM2 model...")
109
 
110
  sam2_start = time.time()
111
+ # CHANGED: Force tiny model instead of auto-detection
112
+ sam2_model = self.sam2_loader.load("tiny") # Force tiny model for faster loading and less memory usage
113
  sam2_time = time.time() - sam2_start
114
 
115
  if sam2_model:
 
307
  """Internal cleanup of loaded models"""
308
  # Clean up SAM2
309
  if self.sam2_loader:
310
+ try:
311
+ if hasattr(self.sam2_loader, 'cleanup'):
312
+ self.sam2_loader.cleanup()
313
+ else:
314
+ logger.debug("SAM2 loader has no cleanup method")
315
+ except Exception as e:
316
+ logger.debug(f"SAM2 loader cleanup error: {e}")
317
+
318
  if self.sam2_predictor:
319
  try:
320
  del self.sam2_predictor
 
324
 
325
  # Clean up MatAnyone
326
  if self.matanyone_loader:
327
+ try:
328
+ if hasattr(self.matanyone_loader, 'cleanup'):
329
+ self.matanyone_loader.cleanup()
330
+ else:
331
+ # MatAnyone doesn't have cleanup, but we can clean the wrapper
332
+ if hasattr(self.matanyone_loader, '_wrapper') and self.matanyone_loader._wrapper:
333
+ if hasattr(self.matanyone_loader._wrapper, 'reset'):
334
+ self.matanyone_loader._wrapper.reset()
335
+ self.matanyone_loader._processor = None
336
+ self.matanyone_loader._wrapper = None
337
+ logger.debug("MatAnyone loader cleaned up manually")
338
+ except Exception as e:
339
+ logger.debug(f"MatAnyone loader cleanup error: {e}")
340
+
341
  if self.matanyone_model:
342
  try:
343
  del self.matanyone_model
 
352
  # Garbage collection
353
  gc.collect()
354
 
355
+ logger.debug("Model cleanup completed")