| 14 | return target_class(**{k: v for k, v in kwargs.items() if hasattr(target_class, k)}) |
| 15 | |
| 16 | def build_command(args, part_lst, gpu_id): |
| 17 | cmd_parts = [ |
| 18 | f'CUDA_VISIBLE_DEVICES={gpu_id}', |
| 19 | 'python', os.path.basename(os.path.abspath(__file__)) |
| 20 | ] |
| 21 | for arg_name, arg_value in vars(args).items(): |
| 22 | if arg_value is not None and arg_name not in["part_lst","visible_gpus","output_dir","is_vfhq","n_divide"]: |
| 23 | if isinstance(arg_value, bool) : |
| 24 | if arg_value: |
| 25 | cmd_parts.append(f'--{arg_name}') |
| 26 | elif isinstance(arg_value, list): |
| 27 | cmd_parts.append(f'--{arg_name} {" ".join(map(str, arg_value))}') |
| 28 | else: |
| 29 | cmd_parts.append(f'--{arg_name} {shlex.quote(str(arg_value))}') |
| 30 | |
| 31 | cmd_parts.extend([ |
| 32 | '-p', part_lst, |
| 33 | '-n', '1', |
| 34 | '-v', '0', |
| 35 | '--output_dir', args.output_dir |
| 36 | ]) |
| 37 | |
| 38 | return ' '.join(cmd_parts) |
| 39 | |
| 40 | def find_videos_in_path(path): |
| 41 | videos = [] |