prevents race condition in multiprocessing setting

This commit is contained in:
John Schulman
2016-10-20 11:40:20 -07:00
parent 50be1426be
commit 3546f06bc3

View File

@@ -118,7 +118,10 @@ class Monitor(object):
if not os.path.exists(directory):
logger.info('Creating monitor directory %s', directory)
os.makedirs(directory)
if six.PY3:
os.makedirs(directory, exist_ok=True)
else:
os.makedirs(directory)
if video_callable is None:
video_callable = capped_cubic_video_schedule
@@ -150,7 +153,10 @@ class Monitor(object):
self.stats_recorder = stats_recorder.StatsRecorder(directory, '{}.episode_batch.{}'.format(self.file_prefix, self.file_infix))
self.configure(video_callable=video_callable)
if not os.path.exists(directory):
os.mkdir(directory)
if six.PY3:
os.mkdir(directory, exist_ok=True)
else:
os.mkdir(directory)
self.write_upon_reset = write_upon_reset
seeds = self.env.seed(seed)