| import os |
| from pathlib import Path, PurePosixPath |
|
|
| from huggingface_hub import hf_hub_download |
|
|
| def prepare_base_model(): |
| print(f'Preparing base stable-diffusion-v1-5 weights...') |
| local_dir = "./pretrained_weights/stable-diffusion-v1-5" |
| os.makedirs(local_dir, exist_ok=True) |
| for hub_file in ["unet/config.json", "unet/diffusion_pytorch_model.bin"]: |
| path = Path(hub_file) |
| saved_path = local_dir / path |
| if os.path.exists(saved_path): |
| continue |
| hf_hub_download( |
| repo_id="runwayml/stable-diffusion-v1-5", |
| subfolder=PurePosixPath(path.parent), |
| filename=PurePosixPath(path.name), |
| local_dir=local_dir, |
| ) |
|
|
|
|
| def prepare_image_encoder(): |
| print(f"Preparing image encoder weights...") |
| local_dir = "./pretrained_weights" |
| os.makedirs(local_dir, exist_ok=True) |
| for hub_file in ["image_encoder/config.json", "image_encoder/pytorch_model.bin"]: |
| path = Path(hub_file) |
| saved_path = local_dir / path |
| if os.path.exists(saved_path): |
| continue |
| hf_hub_download( |
| repo_id="lambdalabs/sd-image-variations-diffusers", |
| subfolder=PurePosixPath(path.parent), |
| filename=PurePosixPath(path.name), |
| local_dir=local_dir, |
| ) |
|
|
|
|
| def prepare_dwpose(): |
| print(f"Preparing DWPose weights...") |
| local_dir = "./pretrained_weights/DWPose" |
| os.makedirs(local_dir, exist_ok=True) |
| for hub_file in [ |
| "dw-ll_ucoco_384.onnx", |
| "yolox_l.onnx", |
| ]: |
| path = Path(hub_file) |
| saved_path = local_dir / path |
| if os.path.exists(saved_path): |
| continue |
|
|
| hf_hub_download( |
| repo_id="yzd-v/DWPose", |
| subfolder=PurePosixPath(path.parent), |
| filename=PurePosixPath(path.name), |
| local_dir=local_dir, |
| ) |
|
|
|
|
| def prepare_vae(): |
| print(f"Preparing vae weights...") |
| local_dir = "./pretrained_weights/sd-vae-ft-mse" |
| os.makedirs(local_dir, exist_ok=True) |
| for hub_file in [ |
| "config.json", |
| "diffusion_pytorch_model.bin", |
| ]: |
| path = Path(hub_file) |
| saved_path = local_dir / path |
| if os.path.exists(saved_path): |
| continue |
|
|
| hf_hub_download( |
| repo_id="stabilityai/sd-vae-ft-mse", |
| subfolder=PurePosixPath(path.parent), |
| filename=PurePosixPath(path.name), |
| local_dir=local_dir, |
| ) |
|
|
|
|
| def prepare_anyone(): |
| print(f"Preparing AnimateAnyone weights...") |
| local_dir = "./pretrained_weights" |
| os.makedirs(local_dir, exist_ok=True) |
| for hub_file in [ |
| "denoising_unet.pth", |
| "motion_module.pth", |
| "pose_guider.pth", |
| "reference_unet.pth", |
| ]: |
| path = Path(hub_file) |
| saved_path = local_dir / path |
| if os.path.exists(saved_path): |
| continue |
|
|
| hf_hub_download( |
| repo_id="patrolli/AnimateAnyone", |
| subfolder=PurePosixPath(path.parent), |
| filename=PurePosixPath(path.name), |
| local_dir=local_dir, |
| ) |
|
|
| if __name__ == '__main__': |
| prepare_base_model() |
| prepare_image_encoder() |
| prepare_dwpose() |
| prepare_vae() |
| prepare_anyone() |
| |