Spaces:
Running
on
Zero
Running
on
Zero
Update app.py
Browse files
app.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
| 1 |
-
import os, sys, json, tempfile, subprocess, shutil, uuid
|
| 2 |
from pathlib import Path
|
| 3 |
from typing import Optional, Tuple, List
|
| 4 |
|
|
@@ -113,9 +113,31 @@ def prepare_once():
|
|
| 113 |
|
| 114 |
prepare_once()
|
| 115 |
|
|
|
|
|
|
|
| 116 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 117 |
try:
|
| 118 |
-
import audiotools
|
| 119 |
except Exception as e:
|
| 120 |
raise RuntimeError(
|
| 121 |
"Missing module 'audiotools'. Install it via the PyPI package "
|
|
@@ -176,6 +198,10 @@ def auto_load_models() -> str:
|
|
| 176 |
logger.info("Loading HunyuanVideo-Foley model...")
|
| 177 |
logger.info(f"MODEL_PATH: {MODEL_PATH}")
|
| 178 |
logger.info(f"CONFIG_PATH: {CONFIG_PATH}")
|
|
|
|
|
|
|
|
|
|
|
|
|
| 179 |
_model_dict, _cfg = load_model(MODEL_PATH, CONFIG_PATH, _device)
|
| 180 |
logger.info("✅ Model loaded")
|
| 181 |
return "✅ Model loaded"
|
|
|
|
| 1 |
+
import os, sys, json, tempfile, subprocess, shutil, uuid, glob
|
| 2 |
from pathlib import Path
|
| 3 |
from typing import Optional, Tuple, List
|
| 4 |
|
|
|
|
| 113 |
|
| 114 |
prepare_once()
|
| 115 |
|
| 116 |
+
# Prefer safetensors globally (avoids bad *.bin)
|
| 117 |
+
os.environ["TRANSFORMERS_PREFER_SAFETENSORS"] = "1"
|
| 118 |
|
| 119 |
+
def _purge_clap_pt_bins():
|
| 120 |
+
"""
|
| 121 |
+
Remove any cached pytorch_model.bin for laion/larger_clap_general so
|
| 122 |
+
Transformers loads the safetensors instead.
|
| 123 |
+
"""
|
| 124 |
+
cache_root = Path.home() / ".cache" / "huggingface" / "hub"
|
| 125 |
+
patterns = [
|
| 126 |
+
cache_root / "models--laion--larger_clap_general" / "snapshots" / "*" / "pytorch_model.bin",
|
| 127 |
+
cache_root / "models--laion--larger_clap_general" / "snapshots" / "*" / "model.bin",
|
| 128 |
+
cache_root / "models--laion--larger_clap_general" / "snapshots" / "*" / "*.bin",
|
| 129 |
+
]
|
| 130 |
+
for pat in patterns:
|
| 131 |
+
for f in glob.glob(str(pat)):
|
| 132 |
+
try:
|
| 133 |
+
Path(f).unlink()
|
| 134 |
+
print(f">> Purged cached bin: {f}")
|
| 135 |
+
except Exception:
|
| 136 |
+
pass
|
| 137 |
+
|
| 138 |
+
# ---- Friendly dependency checks (clear errors during boot) -------------------
|
| 139 |
try:
|
| 140 |
+
import audiotools # provided by the PyPI package 'descript-audiotools'
|
| 141 |
except Exception as e:
|
| 142 |
raise RuntimeError(
|
| 143 |
"Missing module 'audiotools'. Install it via the PyPI package "
|
|
|
|
| 198 |
logger.info("Loading HunyuanVideo-Foley model...")
|
| 199 |
logger.info(f"MODEL_PATH: {MODEL_PATH}")
|
| 200 |
logger.info(f"CONFIG_PATH: {CONFIG_PATH}")
|
| 201 |
+
|
| 202 |
+
# Make sure any corrupted *.bin in CLAP cache is removed
|
| 203 |
+
_purge_clap_pt_bins()
|
| 204 |
+
|
| 205 |
_model_dict, _cfg = load_model(MODEL_PATH, CONFIG_PATH, _device)
|
| 206 |
logger.info("✅ Model loaded")
|
| 207 |
return "✅ Model loaded"
|