MogensR commited on
Commit
2450c76
·
1 Parent(s): 4f4dff5

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -18
app.py CHANGED
@@ -274,31 +274,28 @@ def _load_sam2(self, progress_callback: Optional[Callable]) -> Any:
274
  raise
275
 
276
  def _load_matanyone(self, progress_callback: Optional[Callable]) -> Any:
277
- """Load MatAnyone processor with full dependency support"""
278
  if progress_callback:
279
  progress_callback(0.6, "Loading MatAnyone...")
280
 
281
  try:
282
- # Try different import paths for MatAnyone
283
  try:
284
  from matanyone import InferenceCore
285
  processor = InferenceCore("PeiqingYang/MatAnyone")
286
  logger.info("MatAnyone loaded via InferenceCore")
287
  except ImportError:
288
  try:
289
- from matanyone.inference import MatAnyoneInference
290
- processor = MatAnyoneInference("PeiqingYang/MatAnyone")
291
- logger.info("MatAnyone loaded via MatAnyoneInference")
292
- except ImportError:
293
- try:
294
- import matanyone
295
- processor = matanyone.load_model("PeiqingYang/MatAnyone")
296
- logger.info("MatAnyone loaded via direct import")
297
- except ImportError as e:
298
- logger.error(f"All MatAnyone import methods failed: {e}")
299
- return None
300
 
301
- # Test MatAnyone with dummy data
302
  test_image = np.zeros((256, 256, 3), dtype=np.uint8)
303
  test_mask = np.zeros((256, 256), dtype=np.uint8)
304
  test_mask[64:192, 64:192] = 255
@@ -312,13 +309,16 @@ def _load_matanyone(self, progress_callback: Optional[Callable]) -> Any:
312
  test_result = processor(test_image, test_mask)
313
  else:
314
  logger.warning("MatAnyone processor has unknown interface")
315
- return processor # Return anyway, let utilities handle it
316
 
317
- logger.info("MatAnyone test successful")
 
 
 
318
 
319
  except Exception as test_error:
320
  logger.warning(f"MatAnyone test failed: {test_error}")
321
- # Return processor anyway, might work in actual use
322
 
323
  if progress_callback:
324
  progress_callback(0.9, "MatAnyone loaded successfully")
@@ -327,7 +327,6 @@ def _load_matanyone(self, progress_callback: Optional[Callable]) -> Any:
327
 
328
  except Exception as e:
329
  logger.error(f"MatAnyone loading failed: {e}")
330
- # Return None to use enhanced OpenCV fallback
331
  return None
332
 
333
  def process_video(
 
274
  raise
275
 
276
  def _load_matanyone(self, progress_callback: Optional[Callable]) -> Any:
277
+ """Load MatAnyone processor for Python 3.10"""
278
  if progress_callback:
279
  progress_callback(0.6, "Loading MatAnyone...")
280
 
281
  try:
282
+ # Import MatAnyone - Python 3.10 compatible
283
  try:
284
  from matanyone import InferenceCore
285
  processor = InferenceCore("PeiqingYang/MatAnyone")
286
  logger.info("MatAnyone loaded via InferenceCore")
287
  except ImportError:
288
  try:
289
+ # Alternative import path
290
+ import matanyone
291
+ processor = matanyone.load_model("PeiqingYang/MatAnyone")
292
+ logger.info("MatAnyone loaded via direct import")
293
+ except ImportError as e:
294
+ logger.error(f"MatAnyone import failed: {e}")
295
+ logger.error("Ensure all dependencies are installed: timm>=0.9.16, einops==0.8.0")
296
+ return None
 
 
 
297
 
298
+ # Test MatAnyone functionality
299
  test_image = np.zeros((256, 256, 3), dtype=np.uint8)
300
  test_mask = np.zeros((256, 256), dtype=np.uint8)
301
  test_mask[64:192, 64:192] = 255
 
309
  test_result = processor(test_image, test_mask)
310
  else:
311
  logger.warning("MatAnyone processor has unknown interface")
312
+ return processor # Return anyway, utilities will handle
313
 
314
+ if test_result is not None:
315
+ logger.info("MatAnyone test successful")
316
+ else:
317
+ logger.warning("MatAnyone test returned None")
318
 
319
  except Exception as test_error:
320
  logger.warning(f"MatAnyone test failed: {test_error}")
321
+ # Still return processor - might work in actual use
322
 
323
  if progress_callback:
324
  progress_callback(0.9, "MatAnyone loaded successfully")
 
327
 
328
  except Exception as e:
329
  logger.error(f"MatAnyone loading failed: {e}")
 
330
  return None
331
 
332
  def process_video(