- vg-remove: object/logo/watermark removal via ProPainter on MPS; static --box, SAM2-tracked --point for moving objects, or user --mask. Output always scaled back to source dims (imageio macro-block-pads ProPainter output). - vg-interp: RIFE frame interpolation via rife-ncnn-vulkan (universal binary, native Metal/MoltenVK, rife-v4.6); smooth (fps x N) or --slowmo. - vg-cutie: Cutie interactive segmentation GUI launcher (local GUI session). - setup/fetch_phase2.sh: idempotent clones + weights + deps + patches. - patches: propainter-cv2-reader (torchvision >= 0.23 removed read_video), cutie-device (get_default_model hard-coded .cuda(); now cuda->mps->cpu). - smoke_test.sh: adds the RIFE lane (skips when not fetched). - Farm: vidgod_roto/vidgod_index operators live in MODELBEAST (8965d22), verified from JING5; weights mirrored to NAS modelzoo/vidgod-weights. All lanes verified on ultra 2026-08-24: de-logo reconstruction eyeballed clean, 24->48fps interp, Cutie headless propagation PASS, smoke test 4/4. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
20 lines
831 B
Diff
20 lines
831 B
Diff
diff --git a/cutie/utils/get_default_model.py b/cutie/utils/get_default_model.py
|
|
index 3fa5e63..bdf91d5 100644
|
|
--- a/cutie/utils/get_default_model.py
|
|
+++ b/cutie/utils/get_default_model.py
|
|
@@ -20,9 +20,11 @@ def get_default_model() -> CUTIE:
|
|
cfg['weights'] = os.path.join(weight_dir, 'cutie-base-mega.pth')
|
|
get_dataset_cfg(cfg)
|
|
|
|
- # Load the network weights
|
|
- cutie = CUTIE(cfg).cuda().eval()
|
|
- model_weights = torch.load(cfg.weights)
|
|
+ # Load the network weights (cuda -> mps -> cpu, like interactive_demo.py)
|
|
+ device = ('cuda' if torch.cuda.is_available() else
|
|
+ 'mps' if torch.backends.mps.is_available() else 'cpu')
|
|
+ cutie = CUTIE(cfg).to(device).eval()
|
|
+ model_weights = torch.load(cfg.weights, map_location=device)
|
|
cutie.load_weights(model_weights)
|
|
|
|
return cutie
|