()
| 147 | |
| 148 | |
| 149 | def submit(): |
| 150 | args = parse_args() |
| 151 | from configs import search_config |
| 152 | from copy import deepcopy |
| 153 | |
| 154 | config = search_config(args.config_name) |
| 155 | _args = deepcopy(args) |
| 156 | if len(args.resume): |
| 157 | checkpoint_file = os.path.join(config.output_dir, "checkpoints", args.resume) |
| 158 | args.resume = checkpoint_file |
| 159 | config.resume = checkpoint_file |
| 160 | |
| 161 | setattr(_args, "config", config) |
| 162 | if args.ngpus is not None: |
| 163 | _args.ngpus = args.ngpus |
| 164 | elif hasattr(config, "ngpus"): |
| 165 | _args.ngpus = config.ngpus |
| 166 | else: |
| 167 | raise ValueError("must specify ngpus in arg or config.") |
| 168 | if args.nodes is not None: |
| 169 | _args.nodes = args.nodes |
| 170 | elif hasattr(config, "nodes"): |
| 171 | _args.nodes = config.nodes |
| 172 | else: |
| 173 | raise ValueError("must specify ngpus in arg or config.") |
| 174 | _args.job_dir = config.output_dir |
| 175 | main(_args) |
| 176 | |
| 177 | |
| 178 | if __name__ == "__main__": |
no test coverage detected