mirror of
https://github.com/wassname/DeepRL.git
synced 2026-09-09 11:13:47 +08:00
Refine API
This commit is contained in:
@@ -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
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user