Spaces:
Paused
Paused
| import os | |
| import argparse | |
| def eval_parse_args() -> argparse.Namespace: | |
| """ This function parses the arguments passed to the script. | |
| Returns: | |
| argparse.Namespace: Namespace containing the arguments. | |
| """ | |
| parser = argparse.ArgumentParser(description="Multimodal Garment Designer argparse.") | |
| # Diffusion parameters | |
| parser.add_argument( | |
| "--pretrained_model_name_or_path", | |
| type=str, | |
| default="benjamin-paine/stable-diffusion-v1-5-inpainting", | |
| help="Path to pretrained model or model identifier from huggingface.co/models.", | |
| ) | |
| parser.add_argument( | |
| "--revision", | |
| type=str, | |
| default=None, | |
| required=False, | |
| help="Revision of pretrained model identifier from huggingface.co/models.", | |
| ) | |
| # destination folder | |
| parser.add_argument( | |
| "--output_dir", | |
| type=str, | |
| required=False, | |
| help="The output directory where the model predictions will be written.", | |
| ) | |
| # Accelerator parameters | |
| parser.add_argument( | |
| "--mixed_precision", | |
| type=str, | |
| default=None, | |
| choices=["no", "fp16", "bf16"], | |
| help=( | |
| "Whether to use mixed precision. Choose between fp16 and bf16 (bfloat16). Bf16 requires PyTorch >=" | |
| " 1.10.and an Nvidia Ampere GPU. Default to the value of accelerate config of the current system or the" | |
| " flag passed with the `accelerate.launch` command. Use this argument to override the accelerate config." | |
| ), | |
| ) | |
| parser.add_argument( | |
| "--enable_xformers_memory_efficient_attention", action="store_true", help="Whether or not to use xformers." | |
| ) | |
| # dataset parameters | |
| parser.add_argument("--dataset", type=str, required=True, choices=["dresscode", "vitonhd"], help="dataset to use") | |
| parser.add_argument( | |
| "--dataset_path", | |
| type=str, | |
| required=True, | |
| help="Path to the dataset", | |
| ) | |
| parser.add_argument("--category", type=str, default="", help="category to use") | |
| parser.add_argument("--test_order", type=str, required=True, choices=["unpaired", "paired"], | |
| help="Test order, should be either paired or unpaired") | |
| # dataloader parameters | |
| parser.add_argument("--batch_size", type=int, default=1, help="Batch size (per device) for the test dataloader.") | |
| parser.add_argument("--num_workers_test", type=int, default=8, | |
| help="Number of workers for the test dataloader.") | |
| # input parameters | |
| parser.add_argument("--mask_type", type=str, default="bounding_box", choices=["keypoints", "bounding_box"]) | |
| parser.add_argument("--no_pose", action="store_true", help="exclude posemap from input") | |
| # disentagle classifier free guidance parameters | |
| parser.add_argument("--disentagle", action="store_true") | |
| parser.add_argument("--guidance_scale", type=float, default=7.5, help="text guidance scale, use with disentagle") | |
| parser.add_argument("--guidance_scale_pose", type=float, default=7.5, | |
| help="pose guidance scale, use with disentagle") | |
| parser.add_argument("--guidance_scale_sketch", type=float, default=7.5, | |
| help="sketch guidance scale, use with disentagle") | |
| # sketch conditioninig paramters | |
| parser.add_argument("--sketch_cond_rate", type=float, default=0.2, help="Sketch conditioning rate") | |
| parser.add_argument("--start_cond_rate", type=float, default=0.0, help="offset sketch cond rate") | |
| # miscelaneous parameters | |
| parser.add_argument("--seed", type=int, default=1234, help="A seed for reproducible training.") | |
| parser.add_argument("--save_name", type=str, required=False, help="Folder name of the saved images") | |
| args = parser.parse_args() | |
| # if not, set default local rank | |
| env_local_rank = int(os.environ.get("LOCAL_RANK", -1)) | |
| if env_local_rank != -1 and env_local_rank != args.local_rank: | |
| args.local_rank = env_local_rank | |
| return args | |