Support deterministic test episode

This commit is contained in:
Shangtong Zhang
2018-04-08 23:00:37 -06:00
parent 8f5b7bf222
commit 5b77fae4cb
2 changed files with 13 additions and 1 deletions
+2
View File
@@ -56,3 +56,5 @@ class Config:
self.gaussian_noise_scale = 0.3
self.optimization_epochs = 4
self.num_mini_batches = 32
self.test_interval = 0
self.test_repetitions = 10
+11 -1
View File
@@ -16,6 +16,7 @@ def run_episodes(agent):
ep = 0
rewards = []
steps = []
avg_test_rewards = []
agent_type = agent.__class__.__name__
while True:
ep += 1
@@ -38,8 +39,17 @@ def run_episodes(agent):
if config.max_steps and agent.total_steps > config.max_steps:
break
if config.test_interval and ep % config.test_interval == 0:
test_rewards = []
for _ in range(config.test_repetitions):
test_rewards.append(agent.episode(True)[0])
avg_reward = np.mean(test_rewards)
avg_test_rewards.append(avg_reward)
config.logger.info('Averaged test reward %f(%f)' % (
avg_reward, np.std(test_rewards) / np.sqrt(config.test_repetitions)))
agent.close()
return steps, rewards
return steps, rewards, avg_test_rewards
def run_iterations(agent):
config = agent.config