Commit 254fae55 authored by Antoine Kaufmann's avatar Antoine Kaufmann
Browse files

experiments: remove run_exp_local and use async interface from LocalSimpleRuntime

parent bef83738
...@@ -255,9 +255,3 @@ class ExpOutput(object): ...@@ -255,9 +255,3 @@ class ExpOutput(object):
def dumps(self): def dumps(self):
return json.dumps(self.__dict__) return json.dumps(self.__dict__)
def run_exp_local(exp, env, verbose=False):
asyncio.run(exp.prepare(env, verbose=verbose))
return asyncio.run(exp.run(env, verbose=verbose))
...@@ -35,17 +35,20 @@ class LocalSimpleRuntime(Runtime): ...@@ -35,17 +35,20 @@ class LocalSimpleRuntime(Runtime):
def add_run(self, run): def add_run(self, run):
self.runnable.append(run) self.runnable.append(run)
def start(self): async def do_run(self, run):
for run in self.runnable:
run.prep_dirs() run.prep_dirs()
run.output = exp.run_exp_local(run.experiment, run.env, await run.experiment.prepare(run.env, verbose=self.verbose)
verbose=self.verbose) run.output = await run.experiment.run(run.env, verbose=self.verbose)
self.complete.append(run) self.complete.append(run)
pathlib.Path(run.outpath).parent.mkdir(parents=True, exist_ok=True) pathlib.Path(run.outpath).parent.mkdir(parents=True, exist_ok=True)
with open(run.outpath, 'w') as f: with open(run.outpath, 'w') as f:
f.write(run.output.dumps()) f.write(run.output.dumps())
def start(self):
for run in self.runnable:
asyncio.run(self.do_run(run))
class LocalParallelRuntime(Runtime): class LocalParallelRuntime(Runtime):
def __init__(self, cores, mem=None, verbose=False): def __init__(self, cores, mem=None, verbose=False):
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment