A single thread DDPG

This commit is contained in:
Shangtong Zhang
2018-01-01 20:45:15 -07:00
parent 0b075a353b
commit 71002e4109
5 changed files with 158 additions and 2 deletions
+2 -1
View File
@@ -11,7 +11,7 @@ class Config:
self.task_fn = None
self.optimizer_fn = None
self.actor_optimizer_fn = None
self.critic_optimizer_fn = None
self.critic_optimizer_fn = Nonea
self.network_fn = None
self.actor_network_fn = None
self.critic_network_fn = None
@@ -50,3 +50,4 @@ class Config:
self.save_interval = 0
self.max_steps = 0
self.success_threshold = float('inf')
self.render_episode_freq = 0
+7
View File
@@ -7,6 +7,7 @@
import numpy as np
import pickle
import os
import gym.monitoring
def run_episodes(agent):
config = agent.config
@@ -30,6 +31,12 @@ def run_episodes(agent):
agent_type, config.tag, agent.task.name), 'wb') as f:
pickle.dump([steps, rewards], f)
if config.render_episode_freq and ep % config.render_episode_freq == 0:
video_recoder = gym.monitoring.VideoRecorder(
env=agent.task.env, base_path='./data/video/%s-%s-%s-%d' % (agent_type, config.tag, agent.task.name, ep))
agent.episode(True, video_recoder)
video_recoder.close()
if config.episode_limit and ep > config.episode_limit:
break