Spaces:
Runtime error
Runtime error
import os | |
import sys | |
import subprocess | |
import time | |
MODEL_REPO = "tencent/HunyuanVideo-Avatar" | |
BASE_DIR = os.getcwd() # current working directory, absolute path | |
WEIGHTS_DIR = os.path.join(BASE_DIR, "weights") | |
# This path assumes the checkpoint is inside weights/transformers/... | |
CHECKPOINT_FILE = os.path.join(WEIGHTS_DIR, "transformers", "mp_rank_00_model_states.pt") | |
def download_model(): | |
print("β¬οΈ Model not found. Downloading with huggingface-cli inside weights directory...") | |
os.makedirs(WEIGHTS_DIR, exist_ok=True) | |
# Use --local-dir as absolute path (important!) | |
cmd = [ | |
"huggingface-cli", "download", MODEL_REPO, | |
"--local-dir", WEIGHTS_DIR | |
] | |
proc = subprocess.run(cmd) | |
if proc.returncode != 0: | |
print("β huggingface-cli download failed.") | |
sys.exit(1) | |
if not os.path.isfile(CHECKPOINT_FILE): | |
print(f"β Checkpoint file not found at {CHECKPOINT_FILE} after download.") | |
sys.exit(1) | |
print("β Model downloaded successfully.") | |
def run_flask_audio(): | |
print("π Starting flask_audio.py...") | |
cmd = [ | |
"torchrun", | |
"--nnodes=1", | |
"--nproc_per_node=8", | |
"--master_port=29605", | |
"hymm_gradio/flask_audio.py", | |
"--input", "assets/test.csv", | |
"--ckpt", CHECKPOINT_FILE, | |
"--sample-n-frames", "129", | |
"--seed", "128", | |
"--image-size", "704", | |
"--cfg-scale", "7.5", | |
"--infer-steps", "50", | |
"--use-deepcache", "1", | |
"--flow-shift-eval-video", "5.0" | |
] | |
proc = subprocess.Popen(cmd) | |
return proc | |
def run_gradio_ui(): | |
print("π’ Starting gradio_audio.py UI...") | |
cmd = ["python3", "hymm_gradio/gradio_audio.py"] | |
proc = subprocess.Popen(cmd) | |
return proc | |
def main(): | |
if os.path.isfile(CHECKPOINT_FILE): | |
print("β Model checkpoint already exists. Skipping download.") | |
else: | |
download_model() | |
flask_proc = run_flask_audio() | |
time.sleep(5) # Wait a bit for flask_audio.py to start | |
gradio_proc = run_gradio_ui() | |
if __name__ == "__main__": | |
main() | |