From 3ff55408ae0c93f50f4380655db904d1185214d7 Mon Sep 17 00:00:00 2001 From: goshawk22 <41483463+goshawk22@users.noreply.github.com> Date: Fri, 21 Aug 2020 08:07:18 +0100 Subject: [PATCH] Seed AlphaZero Threads (#402) * Fix seed in Actor.py * Fix seed coach.py * Update Coach.py * Change i to seed in actor.py * Change i to seed in Coach.py --- benchmark/torch/AlphaZero/Coach.py | 8 ++++---- benchmark/torch/AlphaZero/actor.py | 3 ++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/benchmark/torch/AlphaZero/Coach.py b/benchmark/torch/AlphaZero/Coach.py index 01394b0..ad856b9 100644 --- a/benchmark/torch/AlphaZero/Coach.py +++ b/benchmark/torch/AlphaZero/Coach.py @@ -54,9 +54,9 @@ class Coach(): self.test_dataset = get_test_dataset() - def _run_remote_tasks(self, signal_queue): + def _run_remote_tasks(self, signal_queue, seed): # The remote actor will actually run on the local machine or other machines of xparl cluster - remote_actor = Actor(self.game, self.args) + remote_actor = Actor(self.game, self.args, seed) while True: # receive running task signal @@ -91,12 +91,12 @@ class Coach(): # connect to xparl cluster to submit jobs parl.connect(self.args.master_address) - for i in range(self.args.actors_num): + for seed in range(self.args.actors_num): signal_queue = queue.Queue() self.remote_actors_signal_queues.append(signal_queue) remote_thread = threading.Thread( - target=self._run_remote_tasks, args=(signal_queue, )) + target=self._run_remote_tasks, args=(signal_queue, seed)) remote_thread.setDaemon(True) remote_thread.start() diff --git a/benchmark/torch/AlphaZero/actor.py b/benchmark/torch/AlphaZero/actor.py index 5ed719b..19d684b 100644 --- a/benchmark/torch/AlphaZero/actor.py +++ b/benchmark/torch/AlphaZero/actor.py @@ -23,7 +23,8 @@ from utils import win_loss_draw @parl.remote_class class Actor(object): - def __init__(self, game, args): + def __init__(self, game, args, seed): + np.random.seed(seed) os.environ['OMP_NUM_THREADS'] = "1" self.game = game self.args = args -- GitLab