MCPcopy
hub / github.com/modelscope/ms-swift / _poll

Method _poll

scripts/benchmark/exp_utils.py:315–348  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

313 f.write(json.dumps(exp.to_dict()) + '\n')
314
315 def _poll(self):
316 while True:
317 time.sleep(5)
318
319 has_finished = False
320 for exp in self.exps:
321 rt = exp.handler.poll()
322 if rt is None:
323 continue
324
325 has_finished = True
326 if rt == 0:
327 if not exp.do_eval:
328 all_metric = self._get_metric(exp)
329 if all_metric:
330 exp.record.update(all_metric)
331 if exp.eval_dataset:
332 exp.do_eval = True
333 self.exp_queue.appendleft(exp)
334 self.write_record(exp)
335 else:
336 logger.error(f'Running {exp.name} task, but no result found')
337 else:
338 all_metric = self._get_metric(exp)
339 exp.record['eval_result'] = all_metric
340 if all_metric:
341 self.write_record(exp)
342 else:
343 logger.error(f'Running {exp.name} eval task, but no eval result found')
344 logger.info(f'Running {exp.name} finished with return code: {rt}')
345
346 if has_finished:
347 self.exps = [exp for exp in self.exps if exp.handler.poll() is None]
348 break
349
350 def begin(self, args: Any):
351 exps = self.prepare_experiments(args)

Callers 1

beginMethod · 0.95

Calls 4

_get_metricMethod · 0.95
write_recordMethod · 0.95
sleepMethod · 0.45
updateMethod · 0.45

Tested by

no test coverage detected