Refine API

This commit is contained in:
Shangtong Zhang
2018-05-11 09:28:42 -06:00
parent 2ab14b83df
commit d33f85a2c5
2 changed files with 10 additions and 8 deletions
+1 -1
View File
@@ -119,7 +119,7 @@ class Bullet(BaseTask):
return BaseTask.step(self, np.clip(action, -1, 1))
class ProcessTask:
def __init__(self, task_fn, log_dir):
def __init__(self, task_fn, log_dir=None):
self.pipe, worker_pipe = mp.Pipe()
self.worker = ProcessWrapper(worker_pipe, task_fn, log_dir)
self.worker.start()
+9 -7
View File
@@ -340,18 +340,20 @@ def ddpg_continuous():
config = Config()
log_dir = get_default_log_dir(ddpg_continuous.__name__)
# config.task_fn = lambda: Pendulum(log_dir=log_dir)
config.task_fn = lambda **kwargs: Bullet('AntBulletEnv-v0', **kwargs)
task_fn = lambda **kwargs: Bullet('AntBulletEnv-v0', **kwargs)
# start the test environment in a new process, it is a workaround to the issue
# each bullet environment should be started in a new process, it is a workaround
# to the issue of self-collision
# https://github.com/bulletphysics/bullet3/issues/1643
config.evaluation_env = ProcessTask(config.task_fn, log_dir=log_dir)
config.task_fn = lambda: ProcessTask(task_fn)
config.evaluation_env = ProcessTask(task_fn, log_dir=log_dir)
config.actor_network_fn = lambda state_dim, action_dim: DeterministicActorNet(
action_dim, FCBody(state_dim, (300, 200)))
action_dim, FCBody(state_dim, (300, 200), gate=F.tanh))
config.critic_network_fn = lambda state_dim, action_dim: DeterministicCriticNet(
TwoLayerFCBodyWithAction(state_dim, action_dim, [400, 300]))
TwoLayerFCBodyWithAction(state_dim, action_dim, (400, 300), gate=F.tanh))
config.actor_optimizer_fn = lambda params: torch.optim.Adam(params, lr=1e-4)
config.critic_optimizer_fn = lambda params: torch.optim.Adam(params, lr=1e-3, weight_decay=0.01)
config.critic_optimizer_fn = lambda params: torch.optim.Adam(params, lr=1e-3)
config.replay_fn = lambda: Replay(memory_size=1000000, batch_size=64)
config.discount = 0.99
config.state_normalizer = RunningStatsNormalizer()
@@ -415,7 +417,7 @@ if __name__ == '__main__':
# option_ciritc_pixel_atari('BreakoutNoFrameskip-v4')
# dqn_ram_atari('Breakout-ramNoFrameskip-v4')
# ddpg_continuous()
ddpg_continuous()
# ppo_continuous()
# action_conditional_video_prediction()