(self, args: Any)
| 234 | return list(free_gpu)[:n] |
| 235 | |
| 236 | def prepare_experiments(self, args: Any): |
| 237 | experiments = [] |
| 238 | for config_file in args.config: |
| 239 | with open(config_file, 'r', encoding='utf-8') as f: |
| 240 | group = os.path.basename(config_file) |
| 241 | group = group[:-5] |
| 242 | content = json.load(f) |
| 243 | exps = content['experiment'] |
| 244 | for exp in exps: |
| 245 | main_cfg = deepcopy(content) |
| 246 | name = exp['name'] |
| 247 | cmd = main_cfg['cmd'] |
| 248 | run_args = main_cfg['args'] |
| 249 | env = main_cfg.get('env', {}) |
| 250 | requirements = main_cfg.get('requirements', {}) |
| 251 | eval_requirements = main_cfg.get('eval_requirements', {}) |
| 252 | eval_dataset = main_cfg.get('eval_dataset', {}) |
| 253 | if 'args' in exp: |
| 254 | run_args.update(exp['args']) |
| 255 | if 'requirements' in exp: |
| 256 | requirements.update(exp['requirements']) |
| 257 | if 'env' in exp: |
| 258 | env.update(exp['env']) |
| 259 | experiments.append( |
| 260 | Experiment( |
| 261 | group=group, |
| 262 | name=name, |
| 263 | cmd=cmd, |
| 264 | args=run_args, |
| 265 | env=env, |
| 266 | requirements=requirements, |
| 267 | eval_requirements=eval_requirements, |
| 268 | eval_dataset=eval_dataset, |
| 269 | input_args=args)) |
| 270 | return experiments |
| 271 | |
| 272 | @staticmethod |
| 273 | def _get_metric(exp: Experiment): |
no test coverage detected