Spaces:
Running
on
Zero
Running
on
Zero
import os | |
import argparse | |
def get_parser(): | |
parser = argparse.ArgumentParser() | |
## general | |
parser.add_argument('--image_dir', type=str, default='./test/images/fruit.png', help='Image file path') | |
parser.add_argument('--out_dir', type=str, default='./output', help='Output directory') | |
parser.add_argument('--device', type=str, default='cuda:0', help='The device to use') | |
parser.add_argument('--exp_name', type=str, default=None, help='Experiment name, use image file name by default') | |
## renderer | |
parser.add_argument('--mode', type=str, default='single_view_txt', help="Currently we support 'single_view_txt' and 'single_view_target'") | |
parser.add_argument('--traj_txt', type=str, help="Required for 'single_view_txt' mode, a txt file that specify camera trajectory") | |
parser.add_argument('--elevation', type=float, default=5., help='The elevation angle of the input image in degree. Estimate a rough value based on your visual judgment' ) | |
parser.add_argument('--center_scale', type=float, default=1., help='Range: (0, 2]. Scale factor for the spherical radius (r). By default, r is set to the depth value of the center pixel (H//2, W//2) of the reference image') | |
parser.add_argument('--d_theta', nargs='+', type=int, default=10., help="Range: [-40, 40]. Required for 'single_view_target' mode, specify target theta angle as theta + d_theta") | |
parser.add_argument('--d_phi', nargs='+', type=int, default=30., help="Range: [-45, 45]. Required for 'single_view_target' mode, specify target phi angle as phi + d_phi") | |
parser.add_argument('--d_r', nargs='+', type=float, default=-.2, help="Range: [-.5, .5]. Required for 'single_view_target' mode, specify target radius as r + r*dr") | |
parser.add_argument('--mask_image', type=bool, default=False, help='Required for mulitpule reference images and iterative mode') | |
parser.add_argument('--mask_pc', type=bool, default=True, help='Required for mulitpule reference images and iterative mode') | |
parser.add_argument('--reduce_pc', default=False, help='Required for mulitpule reference images and iterative mode') | |
parser.add_argument('--bg_trd', type=float, default=0., help='Required for mulitpule reference images and iterative mode, set to 0. is no mask') | |
parser.add_argument('--dpt_trd', type=float, default=1., help='Required for mulitpule reference images and iterative mode, limit the max depth by * dpt_trd') | |
## diffusion | |
parser.add_argument("--ckpt_path", type=str, default='./checkpoints/model.ckpt', help="checkpoint path") | |
parser.add_argument("--config", type=str, default='./configs/inference_pvd_1024.yaml', help="config (yaml) path") | |
parser.add_argument("--ddim_steps", type=int, default=50, help="steps of ddim if positive, otherwise use DDPM, reduce to 10 to speed up inference") | |
parser.add_argument("--ddim_eta", type=float, default=1.0, help="eta for ddim sampling (0.0 yields deterministic sampling)") | |
parser.add_argument("--bs", type=int, default=1, help="batch size for inference, should be one") | |
parser.add_argument("--height", type=int, default=576, help="image height, in pixel space") | |
parser.add_argument("--width", type=int, default=1024, help="image width, in pixel space") | |
parser.add_argument("--frame_stride", type=int, default=10, help="Fixed") | |
parser.add_argument("--unconditional_guidance_scale", type=float, default=7.5, help="prompt classifier-free guidance") | |
parser.add_argument("--seed", type=int, default=123, help="seed for seed_everything") | |
parser.add_argument("--video_length", type=int, default=25, help="inference video length, change to 16 if you use 16 frame model") | |
parser.add_argument("--negative_prompt", default=False, help="unused") | |
parser.add_argument("--text_input", default=True, help="unused") | |
parser.add_argument("--prompt", type=str, default='Rotating view of a scene', help="Fixed") | |
parser.add_argument("--multiple_cond_cfg", action='store_true', default=False, help="use multi-condition cfg or not") | |
parser.add_argument("--cfg_img", type=float, default=None, help="guidance scale for image conditioning") | |
parser.add_argument("--timestep_spacing", type=str, default="uniform_trailing", help="The way the timesteps should be scaled. Refer to Table 2 of the [Common Diffusion Noise Schedules and Sample Steps are Flawed](https://huggingface.co/papers/2305.08891) for more information.") | |
parser.add_argument("--guidance_rescale", type=float, default=0.7, help="guidance rescale in [Common Diffusion Noise Schedules and Sample Steps are Flawed](https://huggingface.co/papers/2305.08891)") | |
parser.add_argument("--perframe_ae", default=True, help="if we use per-frame AE decoding, set it to True to save GPU memory, especially for the model of 576x1024") | |
parser.add_argument("--n_samples", type=int, default=1, help="num of samples per prompt") | |
## dust3r | |
parser.add_argument('--model_path', type=str, default='./checkpoints/DUSt3R_ViTLarge_BaseDecoder_512_dpt.pth', help='The path of the model') | |
parser.add_argument('--batch_size', default=1) | |
parser.add_argument('--schedule', type=str, default='linear') | |
parser.add_argument('--niter', default=300) | |
parser.add_argument('--lr', default=0.01) | |
parser.add_argument('--min_conf_thr', default=3.0) # minimum=1.0, maximum=20 | |
return parser |