File size: 3,293 Bytes
da2362d 547bc6e b877500 f8b1e61 da2362d 547bc6e d8647a5 547bc6e cecc2bb b877500 cecc2bb b877500 cecc2bb 33948f0 c21ae8a 58fa4f0 c21ae8a 58fa4f0 c21ae8a 33948f0 fe59321 33948f0 cecc2bb f8b1e61 3126ea4 382f18e d142771 cf75ce8 b877500 cecc2bb d62198c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
import subprocess
import os
import gradio as gr
import spaces
subprocess.run(["git", "clone", "https://github.com/fat-ai/MuseV.git"])
os.chdir("./MuseV")
subprocess.run(["pip", "install", "-r", "requirements.txt"])
subprocess.run(["pip", "install", "--no-cache-dir", "-U", "openmim"])
subprocess.run(["mim", "install", "mmengine"])
subprocess.run(["mim", "install", "mmcv>=2.0.1"])
subprocess.run(["mim", "install", "mmdet>=3.1.0"])
subprocess.run(["mim", "install", "mmpose>=1.1.0"])
subprocess.run(["git", "clone", "--recursive", "https://github.com/fat-ai/MuseV.git"])
subprocess.run(["git", "clone", "https://huggingface.co/TMElyralab/MuseV", "./checkpoints"])
os.chdir("..")
command = "\"import sys; sys.path.append('./MuseV/MuseV'); sys.path.append('./MuseV/MuseV/MMCM'); sys.path.append('./MuseV/MuseV/diffusers/src'); sys.path.append('./MuseV/MuseV/controlnet_aux/src')\""
subprocess.run(["python","-c",command])
with open ("./MuseV/scripts/inference/text2video.py","r+") as scrip:
s = scrip.read()
s = s.replace("/checkpoints/embedding/badhandv4.pt", "/MuseV/checkpoints/embedding/badhandv4.pt")
s = s.replace("/checkpoints/embedding/ng_deepnegative_v1_75t.pt", "/MuseV/checkpoints/embedding/ng_deepnegative_v1_75t.pt")
s = s.replace("/checkpoints/embedding/EasyNegativeV2.safetensors", "/MuseV/checkpoints/embedding/EasyNegativeV2.safetensors")
s = s.replace("/checkpoints/embedding/bad_prompt_version2-neg.pt", "/MuseV/checkpoints/embedding/bad_prompt_version2-neg.pt")
scrip.write(s)
scrip.truncate()
scrip.seek(0)
subprocess.run(["mv", "./MuseV/scripts/inference/text2video.py", "./MuseV/text2video.py"])
subprocess.run(["mv", "./MuseV/scripts/inference/video2video.py", "./MuseV/video2video.py"])
with open ("./MuseV/configs/model/motion_model.py","r+") as scrip:
s = scrip.read()
s = s.replace('/content/MuseV/checkpoints', "/home/user/app/MuseV/checkpoints")
scrip.write(s)
scrip.truncate()
scrip.seek(0)
with open ("./MuseV/configs/model/ip_adapter.py","r+") as scrip:
s = scrip.read()
s = s.replace('/content/MuseV/checkpoints', "/home/user/app/MuseV/checkpoints")
scrip.write(s)
scrip.truncate()
scrip.seek(0)
with open ("./MuseV/configs/model/T2I_all_model.py","r+") as scrip:
s = scrip.read()
s = s.replace('/content/MuseV/checkpoints', "/home/user/app/MuseV/checkpoints")
scrip.write(s)
scrip.truncate()
scrip.seek(0)
@spaces.GPU
def run(duration=180):
subprocess.run(["python", "./MuseV/text2video.py", "--sd_model_name", "majicmixRealv6Fp16", "--unet_model_name", "musev_referencenet", "--referencenet_model_name", "musev_referencenet", "--ip_adapter_model_name", "musev_referencenet", "-test_data_path", "./MuseV/configs/tasks/example.yaml", "--output_dir", "./MuseV", "--n_batch", "1", "--target_datas", "Mona_Lisa.", "--vision_clip_extractor_class_name", "ImageClipVisionFeatureExtractor", "--vision_clip_model_path", "./MuseV/checkpoints/IP-Adapter/models/image_encoder", "--motion_speed", "5.0", "--vae_model_path", "./MuseV/checkpoints/vae/sd-vae-ft-mse", "--time_size", "120", "--fps", "24"])
return "./MuseV/Mona_Lisa.mp4"
with gr.Blocks() as demo:
button = gr.Button()
video = gr.Video()
button.click(fn=run,outputs=video)
demo.launch() |