From 64bbf1c35e807ac8202b14aa5a9e045f818f4a9e Mon Sep 17 00:00:00 2001 From: Trinkle23897 Date: Mon, 5 Oct 2020 07:51:14 +0800 Subject: [PATCH 01/14] sac --- docs/_static/images/Ant-v2.png | Bin 187260 -> 0 bytes examples/mujoco/README.md | 3 --- .../mujoco/{ant_v2_sac.py => mujoco_sac.py} | 22 ++++++++++-------- examples/mujoco/{ => runnable}/ant_v2_ddpg.py | 0 examples/mujoco/{ => runnable}/ant_v2_td3.py | 0 .../mujoco/{ => runnable}/mujoco/__init__.py | 0 .../{ => runnable}/mujoco/assets/point.xml | 0 .../{ => runnable}/mujoco/maze_env_utils.py | 0 .../mujoco/{ => runnable}/mujoco/point.py | 0 .../{ => runnable}/mujoco/point_maze_env.py | 0 .../mujoco/{ => runnable}/mujoco/register.py | 0 .../mujoco/{ => runnable}/point_maze_td3.py | 0 12 files changed, 12 insertions(+), 13 deletions(-) delete mode 100644 docs/_static/images/Ant-v2.png rename examples/mujoco/{ant_v2_sac.py => mujoco_sac.py} (87%) rename examples/mujoco/{ => runnable}/ant_v2_ddpg.py (100%) rename examples/mujoco/{ => runnable}/ant_v2_td3.py (100%) rename examples/mujoco/{ => runnable}/mujoco/__init__.py (100%) rename examples/mujoco/{ => runnable}/mujoco/assets/point.xml (100%) rename examples/mujoco/{ => runnable}/mujoco/maze_env_utils.py (100%) rename examples/mujoco/{ => runnable}/mujoco/point.py (100%) rename examples/mujoco/{ => runnable}/mujoco/point_maze_env.py (100%) rename examples/mujoco/{ => runnable}/mujoco/register.py (100%) rename examples/mujoco/{ => runnable}/point_maze_td3.py (100%) diff --git a/docs/_static/images/Ant-v2.png b/docs/_static/images/Ant-v2.png deleted file mode 100644 index b5497592a3b01223e72f552d7665dcd07b6e11d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 187260 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%0Dy_n@4s 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 Q>et*=*S%eG%R1!$09c=SUH||9 diff --git a/examples/mujoco/README.md b/examples/mujoco/README.md index 8a63d2729..e69de29bb 100644 --- a/examples/mujoco/README.md +++ b/examples/mujoco/README.md @@ -1,3 +0,0 @@ -Result of Ant-v2: - -![](/docs/_static/images/Ant-v2.png) \ No newline at end of file diff --git a/examples/mujoco/ant_v2_sac.py b/examples/mujoco/mujoco_sac.py similarity index 87% rename from examples/mujoco/ant_v2_sac.py rename to examples/mujoco/mujoco_sac.py index 819c7454e..9275496b6 100644 --- a/examples/mujoco/ant_v2_sac.py +++ b/examples/mujoco/mujoco_sac.py @@ -16,24 +16,25 @@ def get_args(): parser = argparse.ArgumentParser() - parser.add_argument('--task', type=str, default='Ant-v2') + parser.add_argument('--task', type=str, default='Ant-v3') parser.add_argument('--seed', type=int, default=1626) - parser.add_argument('--buffer-size', type=int, default=20000) + parser.add_argument('--buffer-size', type=int, default=1000000) parser.add_argument('--actor-lr', type=float, default=3e-4) - parser.add_argument('--critic-lr', type=float, default=1e-3) + parser.add_argument('--critic-lr', type=float, default=3e-4) parser.add_argument('--gamma', type=float, default=0.99) parser.add_argument('--tau', type=float, default=0.005) parser.add_argument('--alpha', type=float, default=0.2) parser.add_argument('--epoch', type=int, default=100) - parser.add_argument('--step-per-epoch', type=int, default=2400) - parser.add_argument('--collect-per-step', type=int, default=10) - parser.add_argument('--batch-size', type=int, default=128) + parser.add_argument('--step-per-epoch', type=int, default=10000) + parser.add_argument('--collect-per-step', type=int, default=256) + parser.add_argument('--update-per-step', type=int, default=256) + parser.add_argument('--batch-size', type=int, default=256) parser.add_argument('--layer-num', type=int, default=1) parser.add_argument('--training-num', type=int, default=8) parser.add_argument('--test-num', type=int, default=100) parser.add_argument('--logdir', type=str, default='log') parser.add_argument('--render', type=float, default=0.) - parser.add_argument('--rew-norm', type=bool, default=True) + parser.add_argument('--rew-norm', action="store_true") parser.add_argument( '--device', type=str, default='cuda' if torch.cuda.is_available() else 'cpu') @@ -73,12 +74,11 @@ def test_sac(args=get_args()): actor, actor_optim, critic1, critic1_optim, critic2, critic2_optim, action_range=[env.action_space.low[0], env.action_space.high[0]], tau=args.tau, gamma=args.gamma, alpha=args.alpha, - reward_normalization=args.rew_norm, ignore_done=True) + reward_normalization=args.rew_norm) # collector train_collector = Collector( policy, train_envs, ReplayBuffer(args.buffer_size)) test_collector = Collector(policy, test_envs) - # train_collector.collect(n_step=args.buffer_size) # log log_path = os.path.join(args.logdir, args.task, 'sac') writer = SummaryWriter(log_path) @@ -93,8 +93,10 @@ def stop_fn(mean_rewards): result = offpolicy_trainer( policy, train_collector, test_collector, args.epoch, args.step_per_epoch, args.collect_per_step, args.test_num, - args.batch_size, stop_fn=stop_fn, save_fn=save_fn, writer=writer) + args.batch_size, args.update_per_step, + stop_fn=stop_fn, save_fn=save_fn, writer=writer) assert stop_fn(result['best_reward']) + if __name__ == '__main__': pprint.pprint(result) # Let's watch its performance! diff --git a/examples/mujoco/ant_v2_ddpg.py b/examples/mujoco/runnable/ant_v2_ddpg.py similarity index 100% rename from examples/mujoco/ant_v2_ddpg.py rename to examples/mujoco/runnable/ant_v2_ddpg.py diff --git a/examples/mujoco/ant_v2_td3.py b/examples/mujoco/runnable/ant_v2_td3.py similarity index 100% rename from examples/mujoco/ant_v2_td3.py rename to examples/mujoco/runnable/ant_v2_td3.py diff --git a/examples/mujoco/mujoco/__init__.py b/examples/mujoco/runnable/mujoco/__init__.py similarity index 100% rename from examples/mujoco/mujoco/__init__.py rename to examples/mujoco/runnable/mujoco/__init__.py diff --git a/examples/mujoco/mujoco/assets/point.xml b/examples/mujoco/runnable/mujoco/assets/point.xml similarity index 100% rename from examples/mujoco/mujoco/assets/point.xml rename to examples/mujoco/runnable/mujoco/assets/point.xml diff --git a/examples/mujoco/mujoco/maze_env_utils.py b/examples/mujoco/runnable/mujoco/maze_env_utils.py similarity index 100% rename from examples/mujoco/mujoco/maze_env_utils.py rename to examples/mujoco/runnable/mujoco/maze_env_utils.py diff --git a/examples/mujoco/mujoco/point.py b/examples/mujoco/runnable/mujoco/point.py similarity index 100% rename from examples/mujoco/mujoco/point.py rename to examples/mujoco/runnable/mujoco/point.py diff --git a/examples/mujoco/mujoco/point_maze_env.py b/examples/mujoco/runnable/mujoco/point_maze_env.py similarity index 100% rename from examples/mujoco/mujoco/point_maze_env.py rename to examples/mujoco/runnable/mujoco/point_maze_env.py diff --git a/examples/mujoco/mujoco/register.py b/examples/mujoco/runnable/mujoco/register.py similarity index 100% rename from examples/mujoco/mujoco/register.py rename to examples/mujoco/runnable/mujoco/register.py diff --git a/examples/mujoco/point_maze_td3.py b/examples/mujoco/runnable/point_maze_td3.py similarity index 100% rename from examples/mujoco/point_maze_td3.py rename to examples/mujoco/runnable/point_maze_td3.py From 70182d0dd4b40f8c07c7540f095ca0c936416bf8 Mon Sep 17 00:00:00 2001 From: Trinkle23897 Date: Sat, 10 Oct 2020 23:18:12 +0800 Subject: [PATCH 02/14] try --- examples/mujoco/mujoco_sac.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/examples/mujoco/mujoco_sac.py b/examples/mujoco/mujoco_sac.py index 9275496b6..a0d4f027d 100644 --- a/examples/mujoco/mujoco_sac.py +++ b/examples/mujoco/mujoco_sac.py @@ -1,3 +1,4 @@ +import free_mjc import os import gym import torch @@ -16,7 +17,7 @@ def get_args(): parser = argparse.ArgumentParser() - parser.add_argument('--task', type=str, default='Ant-v3') + parser.add_argument('--task', type=str, default='HalfCheetah-v3') parser.add_argument('--seed', type=int, default=1626) parser.add_argument('--buffer-size', type=int, default=1000000) parser.add_argument('--actor-lr', type=float, default=3e-4) @@ -24,17 +25,18 @@ def get_args(): parser.add_argument('--gamma', type=float, default=0.99) parser.add_argument('--tau', type=float, default=0.005) parser.add_argument('--alpha', type=float, default=0.2) + parser.add_argument('--n-step', type=int, default=1) parser.add_argument('--epoch', type=int, default=100) parser.add_argument('--step-per-epoch', type=int, default=10000) parser.add_argument('--collect-per-step', type=int, default=256) - parser.add_argument('--update-per-step', type=int, default=256) + parser.add_argument('--update-per-step', type=int, default=40) parser.add_argument('--batch-size', type=int, default=256) parser.add_argument('--layer-num', type=int, default=1) parser.add_argument('--training-num', type=int, default=8) parser.add_argument('--test-num', type=int, default=100) parser.add_argument('--logdir', type=str, default='log') parser.add_argument('--render', type=float, default=0.) - parser.add_argument('--rew-norm', action="store_true") + parser.add_argument('--log-interval', type=int, default=1000) parser.add_argument( '--device', type=str, default='cuda' if torch.cuda.is_available() else 'cpu') @@ -74,7 +76,7 @@ def test_sac(args=get_args()): actor, actor_optim, critic1, critic1_optim, critic2, critic2_optim, action_range=[env.action_space.low[0], env.action_space.high[0]], tau=args.tau, gamma=args.gamma, alpha=args.alpha, - reward_normalization=args.rew_norm) + estimation_step=args.n_step) # collector train_collector = Collector( policy, train_envs, ReplayBuffer(args.buffer_size)) @@ -87,14 +89,15 @@ def save_fn(policy): torch.save(policy.state_dict(), os.path.join(log_path, 'policy.pth')) def stop_fn(mean_rewards): - return mean_rewards >= env.spec.reward_threshold + return False # trainer result = offpolicy_trainer( policy, train_collector, test_collector, args.epoch, args.step_per_epoch, args.collect_per_step, args.test_num, args.batch_size, args.update_per_step, - stop_fn=stop_fn, save_fn=save_fn, writer=writer) + stop_fn=stop_fn, save_fn=save_fn, writer=writer, + log_interval=args.log_interval) assert stop_fn(result['best_reward']) if __name__ == '__main__': From 1c8cc83560783343d3c26313d852d3c301e459f7 Mon Sep 17 00:00:00 2001 From: Trinkle23897 Date: Sun, 11 Oct 2020 18:16:36 +0800 Subject: [PATCH 03/14] update --- docs/_static/images/concepts_arch2.png | Bin 30499 -> 30004 bytes examples/box2d/bipedal_hardcore_sac.py | 8 ++------ examples/mujoco/mujoco_sac.py | 12 ++++++++++-- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/docs/_static/images/concepts_arch2.png b/docs/_static/images/concepts_arch2.png index 134bad337dd5095fd0b1e700c61cb92f1c6bbe1f..58d8c62e7795d709fccfe1969b07f18248c81095 100644 GIT binary patch literal 30004 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

@2y=mo({!CL^f!_1 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 Pw-_plnhK?ICc*y$2(ho> diff --git a/examples/box2d/bipedal_hardcore_sac.py b/examples/box2d/bipedal_hardcore_sac.py index 0ddc682f3..da2101d27 100644 --- a/examples/box2d/bipedal_hardcore_sac.py +++ b/examples/box2d/bipedal_hardcore_sac.py @@ -25,7 +25,7 @@ def get_args(): parser.add_argument('--tau', type=float, default=0.005) parser.add_argument('--alpha', type=float, default=0.1) parser.add_argument('--auto_alpha', type=int, default=1) - parser.add_argument('--alpha_lr', type=float, default=3e-4) + parser.add_argument('--alpha-lr', type=float, default=3e-4) parser.add_argument('--epoch', type=int, default=100) parser.add_argument('--step-per-epoch', type=int, default=10000) parser.add_argument('--collect-per-step', type=int, default=10) @@ -35,13 +35,11 @@ def get_args(): parser.add_argument('--test-num', type=int, default=100) parser.add_argument('--logdir', type=str, default='log') parser.add_argument('--render', type=float, default=0.) - parser.add_argument('--rew-norm', type=int, default=0) - parser.add_argument('--ignore-done', type=int, default=0) parser.add_argument('--n-step', type=int, default=4) parser.add_argument( '--device', type=str, default='cuda' if torch.cuda.is_available() else 'cpu') - parser.add_argument('--resume_path', type=str, default=None) + parser.add_argument('--resume-path', type=str, default=None) return parser.parse_args() @@ -117,8 +115,6 @@ def test_sac_bipedal(args=get_args()): actor, actor_optim, critic1, critic1_optim, critic2, critic2_optim, action_range=[env.action_space.low[0], env.action_space.high[0]], tau=args.tau, gamma=args.gamma, alpha=args.alpha, - reward_normalization=args.rew_norm, - ignore_done=args.ignore_done, estimation_step=args.n_step) # load a previous policy if args.resume_path: diff --git a/examples/mujoco/mujoco_sac.py b/examples/mujoco/mujoco_sac.py index a0d4f027d..89ca74301 100644 --- a/examples/mujoco/mujoco_sac.py +++ b/examples/mujoco/mujoco_sac.py @@ -25,6 +25,8 @@ def get_args(): parser.add_argument('--gamma', type=float, default=0.99) parser.add_argument('--tau', type=float, default=0.005) parser.add_argument('--alpha', type=float, default=0.2) + parser.add_argument('--auto_alpha', type=int, default=1) + parser.add_argument('--alpha-lr', type=float, default=3e-4) parser.add_argument('--n-step', type=int, default=1) parser.add_argument('--epoch', type=int, default=100) parser.add_argument('--step-per-epoch', type=int, default=10000) @@ -62,8 +64,7 @@ def test_sac(args=get_args()): # model net = Net(args.layer_num, args.state_shape, device=args.device) actor = ActorProb( - net, args.action_shape, - args.max_action, args.device, unbounded=True + net, args.action_shape, args.max_action, args.device, unbounded=True ).to(args.device) actor_optim = torch.optim.Adam(actor.parameters(), lr=args.actor_lr) net = Net(args.layer_num, args.state_shape, @@ -72,6 +73,13 @@ def test_sac(args=get_args()): critic1_optim = torch.optim.Adam(critic1.parameters(), lr=args.critic_lr) critic2 = Critic(net, args.device).to(args.device) critic2_optim = torch.optim.Adam(critic2.parameters(), lr=args.critic_lr) + + if args.auto_alpha: + target_entropy = -np.prod(env.action_space.shape) + log_alpha = torch.zeros(1, requires_grad=True, device=args.device) + alpha_optim = torch.optim.Adam([log_alpha], lr=args.alpha_lr) + args.alpha = (target_entropy, log_alpha, alpha_optim) + policy = SACPolicy( actor, actor_optim, critic1, critic1_optim, critic2, critic2_optim, action_range=[env.action_space.low[0], env.action_space.high[0]], From f7e8fab224fc6d68d08c4d8d6db34212432a4ff9 Mon Sep 17 00:00:00 2001 From: Trinkle23897 Date: Sun, 11 Oct 2020 18:17:15 +0800 Subject: [PATCH 04/14] change _ to - --- examples/box2d/bipedal_hardcore_sac.py | 2 +- examples/mujoco/mujoco_sac.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/box2d/bipedal_hardcore_sac.py b/examples/box2d/bipedal_hardcore_sac.py index da2101d27..7d0730a48 100644 --- a/examples/box2d/bipedal_hardcore_sac.py +++ b/examples/box2d/bipedal_hardcore_sac.py @@ -24,7 +24,7 @@ def get_args(): parser.add_argument('--gamma', type=float, default=0.99) parser.add_argument('--tau', type=float, default=0.005) parser.add_argument('--alpha', type=float, default=0.1) - parser.add_argument('--auto_alpha', type=int, default=1) + parser.add_argument('--auto-alpha', type=int, default=1) parser.add_argument('--alpha-lr', type=float, default=3e-4) parser.add_argument('--epoch', type=int, default=100) parser.add_argument('--step-per-epoch', type=int, default=10000) diff --git a/examples/mujoco/mujoco_sac.py b/examples/mujoco/mujoco_sac.py index 89ca74301..d1d5e0e45 100644 --- a/examples/mujoco/mujoco_sac.py +++ b/examples/mujoco/mujoco_sac.py @@ -25,7 +25,7 @@ def get_args(): parser.add_argument('--gamma', type=float, default=0.99) parser.add_argument('--tau', type=float, default=0.005) parser.add_argument('--alpha', type=float, default=0.2) - parser.add_argument('--auto_alpha', type=int, default=1) + parser.add_argument('--auto-alpha', type=int, default=1) parser.add_argument('--alpha-lr', type=float, default=3e-4) parser.add_argument('--n-step', type=int, default=1) parser.add_argument('--epoch', type=int, default=100) From a58a51709f45fe3a7ec22647e011267ff722dde8 Mon Sep 17 00:00:00 2001 From: Trinkle23897 Date: Sat, 31 Oct 2020 18:27:56 +0800 Subject: [PATCH 05/14] seperate critic --- examples/box2d/mcc_sac.py | 10 ++++++---- examples/mujoco/mujoco_sac.py | 16 +++++++++------- test/continuous/test_sac_with_il.py | 10 ++++++---- test/continuous/test_td3.py | 10 ++++++---- test/discrete/test_sac.py | 8 ++++---- 5 files changed, 31 insertions(+), 23 deletions(-) diff --git a/examples/box2d/mcc_sac.py b/examples/box2d/mcc_sac.py index b9481a5cf..3614fb836 100644 --- a/examples/box2d/mcc_sac.py +++ b/examples/box2d/mcc_sac.py @@ -67,11 +67,13 @@ def test_sac(args=get_args()): args.max_action, args.device, unbounded=True ).to(args.device) actor_optim = torch.optim.Adam(actor.parameters(), lr=args.actor_lr) - net = Net(args.layer_num, args.state_shape, - args.action_shape, concat=True, device=args.device) - critic1 = Critic(net, args.device).to(args.device) + net_c1 = Net(args.layer_num, args.state_shape, + args.action_shape, concat=True, device=args.device) + critic1 = Critic(net_c1, args.device).to(args.device) critic1_optim = torch.optim.Adam(critic1.parameters(), lr=args.critic_lr) - critic2 = Critic(net, args.device).to(args.device) + net_c2 = Net(args.layer_num, args.state_shape, + args.action_shape, concat=True, device=args.device) + critic2 = Critic(net_c2, args.device).to(args.device) critic2_optim = torch.optim.Adam(critic2.parameters(), lr=args.critic_lr) if args.auto_alpha: diff --git a/examples/mujoco/mujoco_sac.py b/examples/mujoco/mujoco_sac.py index d1d5e0e45..20d5817f5 100644 --- a/examples/mujoco/mujoco_sac.py +++ b/examples/mujoco/mujoco_sac.py @@ -17,7 +17,7 @@ def get_args(): parser = argparse.ArgumentParser() - parser.add_argument('--task', type=str, default='HalfCheetah-v3') + parser.add_argument('--task', type=str, default='Ant-v3') parser.add_argument('--seed', type=int, default=1626) parser.add_argument('--buffer-size', type=int, default=1000000) parser.add_argument('--actor-lr', type=float, default=3e-4) @@ -30,8 +30,8 @@ def get_args(): parser.add_argument('--n-step', type=int, default=1) parser.add_argument('--epoch', type=int, default=100) parser.add_argument('--step-per-epoch', type=int, default=10000) - parser.add_argument('--collect-per-step', type=int, default=256) - parser.add_argument('--update-per-step', type=int, default=40) + parser.add_argument('--collect-per-step', type=int, default=10) + parser.add_argument('--update-per-step', type=int, default=1) parser.add_argument('--batch-size', type=int, default=256) parser.add_argument('--layer-num', type=int, default=1) parser.add_argument('--training-num', type=int, default=8) @@ -67,11 +67,13 @@ def test_sac(args=get_args()): net, args.action_shape, args.max_action, args.device, unbounded=True ).to(args.device) actor_optim = torch.optim.Adam(actor.parameters(), lr=args.actor_lr) - net = Net(args.layer_num, args.state_shape, - args.action_shape, concat=True, device=args.device) - critic1 = Critic(net, args.device).to(args.device) + net_c1 = Net(args.layer_num, args.state_shape, + args.action_shape, concat=True, device=args.device) + critic1 = Critic(net_c1, args.device).to(args.device) critic1_optim = torch.optim.Adam(critic1.parameters(), lr=args.critic_lr) - critic2 = Critic(net, args.device).to(args.device) + net_c2 = Net(args.layer_num, args.state_shape, + args.action_shape, concat=True, device=args.device) + critic2 = Critic(net_c2, args.device).to(args.device) critic2_optim = torch.optim.Adam(critic2.parameters(), lr=args.critic_lr) if args.auto_alpha: diff --git a/test/continuous/test_sac_with_il.py b/test/continuous/test_sac_with_il.py index 865a1c8e4..1c9b794e3 100644 --- a/test/continuous/test_sac_with_il.py +++ b/test/continuous/test_sac_with_il.py @@ -70,11 +70,13 @@ def test_sac_with_il(args=get_args()): net, args.action_shape, args.max_action, args.device, unbounded=True ).to(args.device) actor_optim = torch.optim.Adam(actor.parameters(), lr=args.actor_lr) - net = Net(args.layer_num, args.state_shape, - args.action_shape, concat=True, device=args.device) - critic1 = Critic(net, args.device).to(args.device) + net_c1 = Net(args.layer_num, args.state_shape, + args.action_shape, concat=True, device=args.device) + critic1 = Critic(net_c1, args.device).to(args.device) critic1_optim = torch.optim.Adam(critic1.parameters(), lr=args.critic_lr) - critic2 = Critic(net, args.device).to(args.device) + net_c2 = Net(args.layer_num, args.state_shape, + args.action_shape, concat=True, device=args.device) + critic2 = Critic(net_c2, args.device).to(args.device) critic2_optim = torch.optim.Adam(critic2.parameters(), lr=args.critic_lr) policy = SACPolicy( actor, actor_optim, critic1, critic1_optim, critic2, critic2_optim, diff --git a/test/continuous/test_td3.py b/test/continuous/test_td3.py index 847971474..6c4378f6d 100644 --- a/test/continuous/test_td3.py +++ b/test/continuous/test_td3.py @@ -74,11 +74,13 @@ def test_td3(args=get_args()): args.max_action, args.device ).to(args.device) actor_optim = torch.optim.Adam(actor.parameters(), lr=args.actor_lr) - net = Net(args.layer_num, args.state_shape, - args.action_shape, concat=True, device=args.device) - critic1 = Critic(net, args.device).to(args.device) + net_c1 = Net(args.layer_num, args.state_shape, + args.action_shape, concat=True, device=args.device) + critic1 = Critic(net_c1, args.device).to(args.device) critic1_optim = torch.optim.Adam(critic1.parameters(), lr=args.critic_lr) - critic2 = Critic(net, args.device).to(args.device) + net_c2 = Net(args.layer_num, args.state_shape, + args.action_shape, concat=True, device=args.device) + critic2 = Critic(net_c2, args.device).to(args.device) critic2_optim = torch.optim.Adam(critic2.parameters(), lr=args.critic_lr) policy = TD3Policy( actor, actor_optim, critic1, critic1_optim, critic2, critic2_optim, diff --git a/test/discrete/test_sac.py b/test/discrete/test_sac.py index 4b8607386..fcfa3d1a9 100644 --- a/test/discrete/test_sac.py +++ b/test/discrete/test_sac.py @@ -62,11 +62,11 @@ def test_discrete_sac(args=get_args()): net = Net(args.layer_num, args.state_shape, device=args.device) actor = Actor(net, args.action_shape, softmax_output=False).to(args.device) actor_optim = torch.optim.Adam(actor.parameters(), lr=args.actor_lr) - net = Net(args.layer_num, args.state_shape, device=args.device) - critic1 = Critic(net, last_size=args.action_shape).to(args.device) + net_c1 = Net(args.layer_num, args.state_shape, device=args.device) + critic1 = Critic(net_c1, last_size=args.action_shape).to(args.device) critic1_optim = torch.optim.Adam(critic1.parameters(), lr=args.critic_lr) - net = Net(args.layer_num, args.state_shape, device=args.device) - critic2 = Critic(net, last_size=args.action_shape).to(args.device) + net_c2 = Net(args.layer_num, args.state_shape, device=args.device) + critic2 = Critic(net_c2, last_size=args.action_shape).to(args.device) critic2_optim = torch.optim.Adam(critic2.parameters(), lr=args.critic_lr) # better not to use auto alpha in CartPole From 3c33d080856cb6708be36515d2726d27c8034b15 Mon Sep 17 00:00:00 2001 From: Trinkle23897 Date: Wed, 4 Nov 2020 12:13:11 +0800 Subject: [PATCH 06/14] 5584 --- examples/mujoco/mujoco_sac.py | 22 ++++++++++++---------- tianshou/policy/modelfree/sac.py | 10 +++++++++- tianshou/utils/net/continuous.py | 10 ++++++---- 3 files changed, 27 insertions(+), 15 deletions(-) diff --git a/examples/mujoco/mujoco_sac.py b/examples/mujoco/mujoco_sac.py index 20d5817f5..6ff111d62 100644 --- a/examples/mujoco/mujoco_sac.py +++ b/examples/mujoco/mujoco_sac.py @@ -11,7 +11,7 @@ from tianshou.env import SubprocVectorEnv from tianshou.utils.net.common import Net from tianshou.trainer import offpolicy_trainer -from tianshou.data import Collector, ReplayBuffer +from tianshou.data import Batch, Collector, ReplayBuffer, to_numpy from tianshou.utils.net.continuous import ActorProb, Critic @@ -25,12 +25,12 @@ def get_args(): parser.add_argument('--gamma', type=float, default=0.99) parser.add_argument('--tau', type=float, default=0.005) parser.add_argument('--alpha', type=float, default=0.2) - parser.add_argument('--auto-alpha', type=int, default=1) + parser.add_argument('--auto-alpha', type=int, default=0) parser.add_argument('--alpha-lr', type=float, default=3e-4) parser.add_argument('--n-step', type=int, default=1) parser.add_argument('--epoch', type=int, default=100) parser.add_argument('--step-per-epoch', type=int, default=10000) - parser.add_argument('--collect-per-step', type=int, default=10) + parser.add_argument('--collect-per-step', type=int, default=1) parser.add_argument('--update-per-step', type=int, default=1) parser.add_argument('--batch-size', type=int, default=256) parser.add_argument('--layer-num', type=int, default=1) @@ -62,20 +62,21 @@ def test_sac(args=get_args()): train_envs.seed(args.seed) test_envs.seed(args.seed) # model - net = Net(args.layer_num, args.state_shape, device=args.device) + net = Net(args.layer_num, args.state_shape, device=args.device, hidden_layer_size=256) actor = ActorProb( - net, args.action_shape, args.max_action, args.device, unbounded=True + net, args.action_shape, args.max_action, args.device, unbounded=True, hidden_layer_size=256 ).to(args.device) actor_optim = torch.optim.Adam(actor.parameters(), lr=args.actor_lr) net_c1 = Net(args.layer_num, args.state_shape, - args.action_shape, concat=True, device=args.device) - critic1 = Critic(net_c1, args.device).to(args.device) + args.action_shape, concat=True, device=args.device, hidden_layer_size=256) + critic1 = Critic(net_c1, args.device, hidden_layer_size=256).to(args.device) critic1_optim = torch.optim.Adam(critic1.parameters(), lr=args.critic_lr) net_c2 = Net(args.layer_num, args.state_shape, - args.action_shape, concat=True, device=args.device) - critic2 = Critic(net_c2, args.device).to(args.device) + args.action_shape, concat=True, device=args.device, hidden_layer_size=256) + critic2 = Critic(net_c2, args.device, hidden_layer_size=256).to(args.device) critic2_optim = torch.optim.Adam(critic2.parameters(), lr=args.critic_lr) - + print(actor) + print(critic1) if args.auto_alpha: target_entropy = -np.prod(env.action_space.shape) log_alpha = torch.zeros(1, requires_grad=True, device=args.device) @@ -91,6 +92,7 @@ def test_sac(args=get_args()): train_collector = Collector( policy, train_envs, ReplayBuffer(args.buffer_size)) test_collector = Collector(policy, test_envs) + train_collector.collect(n_step=10000, random=True) # log log_path = os.path.join(args.logdir, args.task, 'sac') writer = SummaryWriter(log_path) diff --git a/tianshou/policy/modelfree/sac.py b/tianshou/policy/modelfree/sac.py index 8d1d72369..904c45405 100644 --- a/tianshou/policy/modelfree/sac.py +++ b/tianshou/policy/modelfree/sac.py @@ -38,6 +38,9 @@ class SACPolicy(DDPGPolicy): defaults to False. :param BaseNoise exploration_noise: add a noise to action for exploration, defaults to None. This is useful when solving hard-exploration problem. + :param bool deterministic_eval: whether to use deterministic action (mean + of Gaussian policy) instead of random Gaussian policy, defaults to + True. .. seealso:: @@ -63,6 +66,7 @@ def __init__( ignore_done: bool = False, estimation_step: int = 1, exploration_noise: Optional[BaseNoise] = None, + deterministic_eval: bool = True, **kwargs: Any, ) -> None: super().__init__(None, None, None, None, action_range, tau, gamma, @@ -86,6 +90,7 @@ def __init__( else: self._alpha = alpha + self._eval_act_deterministic = deterministic_eval self.__eps = np.finfo(np.float32).eps.item() def train(self, mode: bool = True) -> "SACPolicy": @@ -124,7 +129,10 @@ def forward( # type: ignore log_prob = log_prob - torch.log(y).sum(-1, keepdim=True) if self._noise is not None and not self.updating: act += to_torch_as(self._noise(act.shape), act) - act = act.clamp(self._range[0], self._range[1]) + # act = act.clamp(self._range[0], self._range[1]) + if self._eval_act_deterministic and not self.training: + act = torch.tanh(logits[0]) * \ + self._action_scale + self._action_bias return Batch( logits=logits, act=act, state=h, dist=dist, log_prob=log_prob) diff --git a/tianshou/utils/net/continuous.py b/tianshou/utils/net/continuous.py index 7afd9eb9c..d0caebc98 100644 --- a/tianshou/utils/net/continuous.py +++ b/tianshou/utils/net/continuous.py @@ -94,7 +94,8 @@ def __init__( self.preprocess = preprocess_net self.device = device self.mu = nn.Linear(hidden_layer_size, np.prod(action_shape)) - self.sigma = nn.Parameter(torch.zeros(np.prod(action_shape), 1)) + self.sigma = nn.Linear(hidden_layer_size, np.prod(action_shape)) + # self.sigma = nn.Parameter(torch.zeros(np.prod(action_shape), 1)) self._max = max_action self._unbounded = unbounded @@ -109,9 +110,10 @@ def forward( mu = self.mu(logits) if not self._unbounded: mu = self._max * torch.tanh(mu) - shape = [1] * len(mu.shape) - shape[1] = -1 - sigma = (self.sigma.view(shape) + torch.zeros_like(mu)).exp() + sigma = torch.clamp(self.sigma(logits), min=-20, max=2).exp() + # shape = [1] * len(mu.shape) + # shape[1] = -1 + # sigma = (self.sigma.view(shape) + torch.zeros_like(mu)).exp() return (mu, sigma), state From 9203358eb96a5bbe4d7779a64a8d57ebf8649cf6 Mon Sep 17 00:00:00 2001 From: Trinkle23897 Date: Thu, 5 Nov 2020 15:49:26 +0800 Subject: [PATCH 07/14] format --- examples/mujoco/mujoco_sac.py | 32 +++++++++++++++--------- tianshou/policy/modelfree/sac.py | 6 ++--- tianshou/utils/net/continuous.py | 42 ++++++++++++++++++++++++-------- 3 files changed, 56 insertions(+), 24 deletions(-) diff --git a/examples/mujoco/mujoco_sac.py b/examples/mujoco/mujoco_sac.py index 6ff111d62..fdef1e75c 100644 --- a/examples/mujoco/mujoco_sac.py +++ b/examples/mujoco/mujoco_sac.py @@ -11,7 +11,7 @@ from tianshou.env import SubprocVectorEnv from tianshou.utils.net.common import Net from tianshou.trainer import offpolicy_trainer -from tianshou.data import Batch, Collector, ReplayBuffer, to_numpy +from tianshou.data import Collector, ReplayBuffer from tianshou.utils.net.continuous import ActorProb, Critic @@ -32,9 +32,11 @@ def get_args(): parser.add_argument('--step-per-epoch', type=int, default=10000) parser.add_argument('--collect-per-step', type=int, default=1) parser.add_argument('--update-per-step', type=int, default=1) + parser.add_argument('--pre-collect-step', type=int, default=10000) parser.add_argument('--batch-size', type=int, default=256) + parser.add_argument('--hidden-layer-size', type=int, default=256) parser.add_argument('--layer-num', type=int, default=1) - parser.add_argument('--training-num', type=int, default=8) + parser.add_argument('--training-num', type=int, default=1) parser.add_argument('--test-num', type=int, default=100) parser.add_argument('--logdir', type=str, default='log') parser.add_argument('--render', type=float, default=0.) @@ -62,18 +64,26 @@ def test_sac(args=get_args()): train_envs.seed(args.seed) test_envs.seed(args.seed) # model - net = Net(args.layer_num, args.state_shape, device=args.device, hidden_layer_size=256) + net = Net(args.layer_num, args.state_shape, device=args.device, + hidden_layer_size=args.hidden_layer_size) actor = ActorProb( - net, args.action_shape, args.max_action, args.device, unbounded=True, hidden_layer_size=256 + net, args.action_shape, args.max_action, args.device, unbounded=True, + hidden_layer_size=args.hidden_layer_size, conditioned_sigma=True, ).to(args.device) actor_optim = torch.optim.Adam(actor.parameters(), lr=args.actor_lr) - net_c1 = Net(args.layer_num, args.state_shape, - args.action_shape, concat=True, device=args.device, hidden_layer_size=256) - critic1 = Critic(net_c1, args.device, hidden_layer_size=256).to(args.device) + net_c1 = Net(args.layer_num, args.state_shape, args.action_shape, + concat=True, device=args.device, + hidden_layer_size=args.hidden_layer_size) + critic1 = Critic( + net_c1, args.device, hidden_layer_size=args.hidden_layer_size + ).to(args.device) critic1_optim = torch.optim.Adam(critic1.parameters(), lr=args.critic_lr) - net_c2 = Net(args.layer_num, args.state_shape, - args.action_shape, concat=True, device=args.device, hidden_layer_size=256) - critic2 = Critic(net_c2, args.device, hidden_layer_size=256).to(args.device) + net_c2 = Net(args.layer_num, args.state_shape, args.action_shape, + concat=True, device=args.device, + hidden_layer_size=args.hidden_layer_size) + critic2 = Critic( + net_c2, args.device, hidden_layer_size=args.hidden_layer_size + ).to(args.device) critic2_optim = torch.optim.Adam(critic2.parameters(), lr=args.critic_lr) print(actor) print(critic1) @@ -92,7 +102,7 @@ def test_sac(args=get_args()): train_collector = Collector( policy, train_envs, ReplayBuffer(args.buffer_size)) test_collector = Collector(policy, test_envs) - train_collector.collect(n_step=10000, random=True) + train_collector.collect(n_step=args.pre_collect_step, random=True) # log log_path = os.path.join(args.logdir, args.task, 'sac') writer = SummaryWriter(log_path) diff --git a/tianshou/policy/modelfree/sac.py b/tianshou/policy/modelfree/sac.py index 904c45405..10ea49334 100644 --- a/tianshou/policy/modelfree/sac.py +++ b/tianshou/policy/modelfree/sac.py @@ -90,7 +90,7 @@ def __init__( else: self._alpha = alpha - self._eval_act_deterministic = deterministic_eval + self._deterministic_eval = deterministic_eval self.__eps = np.finfo(np.float32).eps.item() def train(self, mode: bool = True) -> "SACPolicy": @@ -129,8 +129,8 @@ def forward( # type: ignore log_prob = log_prob - torch.log(y).sum(-1, keepdim=True) if self._noise is not None and not self.updating: act += to_torch_as(self._noise(act.shape), act) - # act = act.clamp(self._range[0], self._range[1]) - if self._eval_act_deterministic and not self.training: + act = act.clamp(self._range[0], self._range[1]) + if self._deterministic_eval and not self.training: act = torch.tanh(logits[0]) * \ self._action_scale + self._action_bias return Batch( diff --git a/tianshou/utils/net/continuous.py b/tianshou/utils/net/continuous.py index d0caebc98..3ab0977b7 100644 --- a/tianshou/utils/net/continuous.py +++ b/tianshou/utils/net/continuous.py @@ -6,6 +6,10 @@ from tianshou.data import to_torch, to_torch_as +SIGMA_MIN = -20 +SIGMA_MAX = 2 + + class Actor(nn.Module): """Simple actor network with MLP. @@ -89,13 +93,17 @@ def __init__( device: Union[str, int, torch.device] = "cpu", unbounded: bool = False, hidden_layer_size: int = 128, + conditioned_sigma: bool = False, ) -> None: super().__init__() self.preprocess = preprocess_net self.device = device self.mu = nn.Linear(hidden_layer_size, np.prod(action_shape)) - self.sigma = nn.Linear(hidden_layer_size, np.prod(action_shape)) - # self.sigma = nn.Parameter(torch.zeros(np.prod(action_shape), 1)) + self._c_sigma = conditioned_sigma + if conditioned_sigma: + self.sigma = nn.Linear(hidden_layer_size, np.prod(action_shape)) + else: + self.sigma = nn.Parameter(torch.zeros(np.prod(action_shape), 1)) self._max = max_action self._unbounded = unbounded @@ -110,10 +118,14 @@ def forward( mu = self.mu(logits) if not self._unbounded: mu = self._max * torch.tanh(mu) - sigma = torch.clamp(self.sigma(logits), min=-20, max=2).exp() - # shape = [1] * len(mu.shape) - # shape[1] = -1 - # sigma = (self.sigma.view(shape) + torch.zeros_like(mu)).exp() + if self._c_sigma: + sigma = torch.clamp( + self.sigma(logits), min=SIGMA_MIN, max=SIGMA_MAX + ).exp() + else: + shape = [1] * len(mu.shape) + shape[1] = -1 + sigma = (self.sigma.view(shape) + torch.zeros_like(mu)).exp() return (mu, sigma), state @@ -133,6 +145,7 @@ def __init__( device: Union[str, int, torch.device] = "cpu", unbounded: bool = False, hidden_layer_size: int = 128, + conditioned_sigma: bool = False, ) -> None: super().__init__() self.device = device @@ -143,7 +156,11 @@ def __init__( batch_first=True, ) self.mu = nn.Linear(hidden_layer_size, np.prod(action_shape)) - self.sigma = nn.Parameter(torch.zeros(np.prod(action_shape), 1)) + self._c_sigma = conditioned_sigma + if conditioned_sigma: + self.sigma = nn.Linear(hidden_layer_size, np.prod(action_shape)) + else: + self.sigma = nn.Parameter(torch.zeros(np.prod(action_shape), 1)) self._max = max_action self._unbounded = unbounded @@ -172,9 +189,14 @@ def forward( mu = self.mu(logits) if not self._unbounded: mu = self._max * torch.tanh(mu) - shape = [1] * len(mu.shape) - shape[1] = -1 - sigma = (self.sigma.view(shape) + torch.zeros_like(mu)).exp() + if self._c_sigma: + sigma = torch.clamp( + self.sigma(logits), min=SIGMA_MIN, max=SIGMA_MAX + ).exp() + else: + shape = [1] * len(mu.shape) + shape[1] = -1 + sigma = (self.sigma.view(shape) + torch.zeros_like(mu)).exp() # please ensure the first dim is batch size: [bsz, len, ...] return (mu, sigma), {"h": h.transpose(0, 1).detach(), "c": c.transpose(0, 1).detach()} From 9e9d4f05d113f269ecf265d3d078017d119ec660 Mon Sep 17 00:00:00 2001 From: Trinkle23897 Date: Sat, 7 Nov 2020 07:35:00 +0800 Subject: [PATCH 08/14] update hparam --- examples/box2d/README.md | 2 +- examples/box2d/bipedal_hardcore_sac.py | 24 +++++++++--------- .../box2d/results/sac/BipedalHardcore.png | Bin 46560 -> 43026 bytes examples/mujoco/mujoco_sac.py | 6 ++--- .../halfcheetahBullet_v0_sac.py | 0 5 files changed, 16 insertions(+), 16 deletions(-) rename examples/mujoco/{ => runnable}/halfcheetahBullet_v0_sac.py (100%) diff --git a/examples/box2d/README.md b/examples/box2d/README.md index 53300dd1c..f438b2a4b 100644 --- a/examples/box2d/README.md +++ b/examples/box2d/README.md @@ -1,6 +1,6 @@ # Bipedal-Hardcore-SAC -- Our default choice: remove the done flag penalty, will soon converge to \~270 reward within 100 epochs (10M env steps, 3~4 hours, see the image below) +- Our default choice: remove the done flag penalty, will soon converge to \~280 reward within 100 epochs (10M env steps, 3~4 hours, see the image below) - If the done penalty is not removed, it converges much slower than before, about 200 epochs (20M env steps) to reach the same performance (\~200 reward) ![](results/sac/BipedalHardcore.png) diff --git a/examples/box2d/bipedal_hardcore_sac.py b/examples/box2d/bipedal_hardcore_sac.py index 7d0730a48..c0c384b20 100644 --- a/examples/box2d/bipedal_hardcore_sac.py +++ b/examples/box2d/bipedal_hardcore_sac.py @@ -6,11 +6,11 @@ import numpy as np from torch.utils.tensorboard import SummaryWriter +from tianshou.policy import SACPolicy +from tianshou.utils.net.common import Net from tianshou.env import SubprocVectorEnv from tianshou.trainer import offpolicy_trainer from tianshou.data import Collector, ReplayBuffer -from tianshou.policy import SACPolicy -from tianshou.utils.net.common import Net from tianshou.utils.net.continuous import ActorProb, Critic @@ -46,27 +46,26 @@ def get_args(): class EnvWrapper(object): """Env wrapper for reward scale, action repeat and action noise""" - def __init__(self, task, action_repeat=3, reward_scale=5, act_noise=0.0): + def __init__(self, task, action_repeat=3, reward_scale=5, rm_done=True): self._env = gym.make(task) self.action_repeat = action_repeat self.reward_scale = reward_scale - self.act_noise = act_noise + self.rm_done = rm_done def __getattr__(self, name): return getattr(self._env, name) def step(self, action): - # add action noise - action += self.act_noise * (-2 * np.random.random(4) + 1) r = 0.0 for _ in range(self.action_repeat): - obs_, reward_, done_, info_ = self._env.step(action) + obs, reward, done, info = self._env.step(action) # remove done reward penalty - if done_: + if not done or not self.rm_done: + r = r + reward + if done: break - r = r + reward_ # scale reward - return obs_, self.reward_scale * r, done_, info_ + return obs, self.reward_scale * r, done, info def test_sac_bipedal(args=get_args()): @@ -79,8 +78,9 @@ def test_sac_bipedal(args=get_args()): train_envs = SubprocVectorEnv( [lambda: EnvWrapper(args.task) for _ in range(args.training_num)]) # test_envs = gym.make(args.task) - test_envs = SubprocVectorEnv([lambda: EnvWrapper(args.task, reward_scale=1) - for _ in range(args.test_num)]) + test_envs = SubprocVectorEnv([ + lambda: EnvWrapper(args.task, reward_scale=1, rm_done=False) + for _ in range(args.test_num)]) # seed np.random.seed(args.seed) diff --git a/examples/box2d/results/sac/BipedalHardcore.png b/examples/box2d/results/sac/BipedalHardcore.png index 86367e591825f7e0388581919ce54bf8d0c97951..d31867fcc9f8f5033e0d9f64d9f1c748a6964c72 100644 GIT binary patch literal 43026 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 literal 46560 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�iWRrhWcSA(@XeSRVTHR)oVV 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 m|F7y>`I7(V5_rAI1DWEnLAAszQi Date: Mon, 9 Nov 2020 07:58:09 +0800 Subject: [PATCH 09/14] update hparam --- examples/mujoco/mujoco_sac.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/examples/mujoco/mujoco_sac.py b/examples/mujoco/mujoco_sac.py index 8b7008f12..70f588a1a 100644 --- a/examples/mujoco/mujoco_sac.py +++ b/examples/mujoco/mujoco_sac.py @@ -36,7 +36,7 @@ def get_args(): parser.add_argument('--batch-size', type=int, default=256) parser.add_argument('--hidden-layer-size', type=int, default=256) parser.add_argument('--layer-num', type=int, default=1) - parser.add_argument('--training-num', type=int, default=4) + parser.add_argument('--training-num', type=int, default=16) parser.add_argument('--test-num', type=int, default=100) parser.add_argument('--logdir', type=str, default='log') parser.add_argument('--render', type=float, default=0.) @@ -120,7 +120,6 @@ def stop_fn(mean_rewards): args.batch_size, args.update_per_step, stop_fn=stop_fn, save_fn=save_fn, writer=writer, log_interval=args.log_interval) - assert stop_fn(result['best_reward']) if __name__ == '__main__': pprint.pprint(result) From 4a9ff9f33437b321fcf2efa853d420cef375008f Mon Sep 17 00:00:00 2001 From: Trinkle23897 Date: Mon, 9 Nov 2020 08:04:17 +0800 Subject: [PATCH 10/14] update --- examples/mujoco/mujoco_sac.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/examples/mujoco/mujoco_sac.py b/examples/mujoco/mujoco_sac.py index 70f588a1a..f192bd8bd 100644 --- a/examples/mujoco/mujoco_sac.py +++ b/examples/mujoco/mujoco_sac.py @@ -28,7 +28,7 @@ def get_args(): parser.add_argument('--auto-alpha', type=int, default=0) parser.add_argument('--alpha-lr', type=float, default=3e-4) parser.add_argument('--n-step', type=int, default=2) - parser.add_argument('--epoch', type=int, default=100) + parser.add_argument('--epoch', type=int, default=67) # 3M parser.add_argument('--step-per-epoch', type=int, default=10000) parser.add_argument('--collect-per-step', type=int, default=4) parser.add_argument('--update-per-step', type=int, default=1) @@ -85,8 +85,7 @@ def test_sac(args=get_args()): net_c2, args.device, hidden_layer_size=args.hidden_layer_size ).to(args.device) critic2_optim = torch.optim.Adam(critic2.parameters(), lr=args.critic_lr) - print(actor) - print(critic1) + if args.auto_alpha: target_entropy = -np.prod(env.action_space.shape) log_alpha = torch.zeros(1, requires_grad=True, device=args.device) From 457f7039acaa9cfdf22092c49ff9fb79e4093d41 Mon Sep 17 00:00:00 2001 From: Trinkle23897 Date: Mon, 9 Nov 2020 10:28:02 +0800 Subject: [PATCH 11/14] update result --- examples/mujoco/README.md | 20 ++++++++++++++++++++ examples/mujoco/mujoco_sac.py | 3 +-- examples/mujoco/results/sac/all.png | Bin 0 -> 129464 bytes 3 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 examples/mujoco/results/sac/all.png diff --git a/examples/mujoco/README.md b/examples/mujoco/README.md index e69de29bb..f4a520aee 100644 --- a/examples/mujoco/README.md +++ b/examples/mujoco/README.md @@ -0,0 +1,20 @@ +# Mujoco Result + + + +## SAC (single run) + +The best reward computes from 100 episodes returns in the test phase. + +| task | 3M best reward | parameters | time cost (3M) | +| -------------- | ----------------- | ------------------------------------------------------- | -------------- | +| HalfCheetah-v3 | 10157.70 ± 171.70 | `python3 mujoco_sac.py --task HalfCheetah-v3` | 2~3h | +| Walker2d-v3 | 5143.04 ± 15.57 | `python3 mujoco_sac.py --task Walker2d-v3` | 2~3h | +| Hopper-v3 | 3604.19 ± 169.55 | `python3 mujoco_sac.py --task Hopper-v3` | 2~3h | +| Humanoid-v3 | 6579.20 ± 1470.57 | `python3 mujoco_sac.py --task Humanoid-v3 --alpha 0.05` | 2~3h | +| Ant-v3 | 6281.65 ± 686.28 | `python3 mujoco_sac.py --task Ant-v3` | 2~3h | + +![](results/sac/all.png) + + + diff --git a/examples/mujoco/mujoco_sac.py b/examples/mujoco/mujoco_sac.py index f192bd8bd..1b46c5433 100644 --- a/examples/mujoco/mujoco_sac.py +++ b/examples/mujoco/mujoco_sac.py @@ -1,4 +1,3 @@ -import free_mjc import os import gym import torch @@ -28,7 +27,7 @@ def get_args(): parser.add_argument('--auto-alpha', type=int, default=0) parser.add_argument('--alpha-lr', type=float, default=3e-4) parser.add_argument('--n-step', type=int, default=2) - parser.add_argument('--epoch', type=int, default=67) # 3M + parser.add_argument('--epoch', type=int, default=100) parser.add_argument('--step-per-epoch', type=int, default=10000) parser.add_argument('--collect-per-step', type=int, default=4) parser.add_argument('--update-per-step', type=int, default=1) diff --git a/examples/mujoco/results/sac/all.png b/examples/mujoco/results/sac/all.png new file mode 100644 index 0000000000000000000000000000000000000000..7f314f46f3aa16fbdce12833c2eda6dbae4f781d GIT binary patch literal 129464 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 Date: Mon, 9 Nov 2020 10:33:29 +0800 Subject: [PATCH 12/14] update readme --- examples/mujoco/README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/examples/mujoco/README.md b/examples/mujoco/README.md index f4a520aee..35fb294e3 100644 --- a/examples/mujoco/README.md +++ b/examples/mujoco/README.md @@ -16,5 +16,10 @@ The best reward computes from 100 episodes returns in the test phase. ![](results/sac/all.png) +### Which parts are important? +0. DO NOT share the same network with two critic networks. +1. The sigma (of the Gaussian policy) MUST be conditioned on input. +2. The network size should not be less than 256. +3. The deterministic evaluation helps a lot :) From f5935b9aff777ccf47dba7477f4a2f76242bc22f Mon Sep 17 00:00:00 2001 From: Trinkle23897 Date: Mon, 9 Nov 2020 15:21:00 +0800 Subject: [PATCH 13/14] fix --- examples/atari/atari_dqn.py | 8 ++-- examples/box2d/bipedal_hardcore_sac.py | 23 +++++----- examples/mujoco/README.md | 2 + examples/mujoco/mujoco_sac.py | 44 ++++++++++++++----- .../runnable/halfcheetahBullet_v0_sac.py | 2 + examples/mujoco/runnable/point_maze_td3.py | 2 + tianshou/policy/modelfree/sac.py | 12 ++--- 7 files changed, 60 insertions(+), 33 deletions(-) diff --git a/examples/atari/atari_dqn.py b/examples/atari/atari_dqn.py index e44890308..b7d8ffef4 100644 --- a/examples/atari/atari_dqn.py +++ b/examples/atari/atari_dqn.py @@ -58,8 +58,8 @@ def test_dqn(args=get_args()): args.state_shape = env.observation_space.shape or env.observation_space.n args.action_shape = env.env.action_space.shape or env.env.action_space.n # should be N_FRAMES x H x W - print("Observations shape: ", args.state_shape) - print("Actions shape: ", args.action_shape) + print("Observations shape:", args.state_shape) + print("Actions shape:", args.action_shape) # make environments train_envs = SubprocVectorEnv([lambda: make_atari_env(args) for _ in range(args.training_num)]) @@ -79,7 +79,9 @@ def test_dqn(args=get_args()): target_update_freq=args.target_update_freq) # load a previous policy if args.resume_path: - policy.load_state_dict(torch.load(args.resume_path)) + policy.load_state_dict(torch.load( + args.resume_path, map_location=args.device + )) print("Loaded agent from: ", args.resume_path) # replay buffer: `save_last_obs` and `stack_num` can be removed together # when you have enough RAM diff --git a/examples/box2d/bipedal_hardcore_sac.py b/examples/box2d/bipedal_hardcore_sac.py index c0c384b20..ec53cf1ba 100644 --- a/examples/box2d/bipedal_hardcore_sac.py +++ b/examples/box2d/bipedal_hardcore_sac.py @@ -43,22 +43,20 @@ def get_args(): return parser.parse_args() -class EnvWrapper(object): - """Env wrapper for reward scale, action repeat and action noise""" +class Wrapper(gym.Wrapper): + """Env wrapper for reward scale, action repeat and removing done penalty""" - def __init__(self, task, action_repeat=3, reward_scale=5, rm_done=True): - self._env = gym.make(task) + def __init__(self, env, action_repeat=3, reward_scale=5, rm_done=True): + super().__init__(env) + self.env = env self.action_repeat = action_repeat self.reward_scale = reward_scale self.rm_done = rm_done - def __getattr__(self, name): - return getattr(self._env, name) - def step(self, action): r = 0.0 for _ in range(self.action_repeat): - obs, reward, done, info = self._env.step(action) + obs, reward, done, info = self.env.step(action) # remove done reward penalty if not done or not self.rm_done: r = r + reward @@ -69,17 +67,18 @@ def step(self, action): def test_sac_bipedal(args=get_args()): - env = EnvWrapper(args.task) + env = Wrapper(gym.make(args.task)) args.state_shape = env.observation_space.shape or env.observation_space.n args.action_shape = env.action_space.shape or env.action_space.n args.max_action = env.action_space.high[0] - train_envs = SubprocVectorEnv( - [lambda: EnvWrapper(args.task) for _ in range(args.training_num)]) + train_envs = SubprocVectorEnv([ + lambda: Wrapper(gym.make(args.task)) + for _ in range(args.training_num)]) # test_envs = gym.make(args.task) test_envs = SubprocVectorEnv([ - lambda: EnvWrapper(args.task, reward_scale=1, rm_done=False) + lambda: Wrapper(gym.make(args.task), reward_scale=1, rm_done=False) for _ in range(args.test_num)]) # seed diff --git a/examples/mujoco/README.md b/examples/mujoco/README.md index 35fb294e3..3f116fd6b 100644 --- a/examples/mujoco/README.md +++ b/examples/mujoco/README.md @@ -6,6 +6,8 @@ The best reward computes from 100 episodes returns in the test phase. +SAC on Swimmer-v3 always stops at 47\~48. + | task | 3M best reward | parameters | time cost (3M) | | -------------- | ----------------- | ------------------------------------------------------- | -------------- | | HalfCheetah-v3 | 10157.70 ± 171.70 | `python3 mujoco_sac.py --task HalfCheetah-v3` | 2~3h | diff --git a/examples/mujoco/mujoco_sac.py b/examples/mujoco/mujoco_sac.py index 1b46c5433..2a80d4fc8 100644 --- a/examples/mujoco/mujoco_sac.py +++ b/examples/mujoco/mujoco_sac.py @@ -24,7 +24,7 @@ def get_args(): parser.add_argument('--gamma', type=float, default=0.99) parser.add_argument('--tau', type=float, default=0.005) parser.add_argument('--alpha', type=float, default=0.2) - parser.add_argument('--auto-alpha', type=int, default=0) + parser.add_argument('--auto-alpha', default=False, action='store_true') parser.add_argument('--alpha-lr', type=float, default=3e-4) parser.add_argument('--n-step', type=int, default=2) parser.add_argument('--epoch', type=int, default=100) @@ -43,6 +43,9 @@ def get_args(): parser.add_argument( '--device', type=str, default='cuda' if torch.cuda.is_available() else 'cpu') + parser.add_argument('--resume-path', type=str, default=None) + parser.add_argument('--watch', default=False, action='store_true', + help='watch the play of pre-trained policy only') return parser.parse_args() @@ -51,6 +54,10 @@ def test_sac(args=get_args()): args.state_shape = env.observation_space.shape or env.observation_space.n args.action_shape = env.action_space.shape or env.action_space.n args.max_action = env.action_space.high[0] + print("Observations shape:", args.state_shape) + print("Actions shape:", args.action_shape) + print("Action range:", np.min(env.action_space.low), + np.max(env.action_space.high)) # train_envs = gym.make(args.task) train_envs = SubprocVectorEnv( [lambda: gym.make(args.task) for _ in range(args.training_num)]) @@ -96,38 +103,51 @@ def test_sac(args=get_args()): action_range=[env.action_space.low[0], env.action_space.high[0]], tau=args.tau, gamma=args.gamma, alpha=args.alpha, estimation_step=args.n_step) + # load a previous policy + if args.resume_path: + policy.load_state_dict(torch.load( + args.resume_path, map_location=args.device + )) + print("Loaded agent from: ", args.resume_path) + # collector train_collector = Collector( policy, train_envs, ReplayBuffer(args.buffer_size)) test_collector = Collector(policy, test_envs) - train_collector.collect(n_step=args.pre_collect_step, random=True) # log log_path = os.path.join(args.logdir, args.task, 'sac') writer = SummaryWriter(log_path) + def watch(): + # watch agent's performance + print("Testing agent ...") + policy.eval() + test_envs.seed(args.seed) + test_collector.reset() + result = test_collector.collect(n_episode=[1] * args.test_num, + render=args.render) + pprint.pprint(result) + def save_fn(policy): torch.save(policy.state_dict(), os.path.join(log_path, 'policy.pth')) def stop_fn(mean_rewards): return False + if args.watch: + watch() + exit(0) + # trainer + train_collector.collect(n_step=args.pre_collect_step, random=True) result = offpolicy_trainer( policy, train_collector, test_collector, args.epoch, args.step_per_epoch, args.collect_per_step, args.test_num, args.batch_size, args.update_per_step, stop_fn=stop_fn, save_fn=save_fn, writer=writer, log_interval=args.log_interval) - - if __name__ == '__main__': - pprint.pprint(result) - # Let's watch its performance! - policy.eval() - test_envs.seed(args.seed) - test_collector.reset() - result = test_collector.collect(n_episode=[1] * args.test_num, - render=args.render) - print(f'Final reward: {result["rew"]}, length: {result["len"]}') + pprint.pprint(result) + watch() if __name__ == '__main__': diff --git a/examples/mujoco/runnable/halfcheetahBullet_v0_sac.py b/examples/mujoco/runnable/halfcheetahBullet_v0_sac.py index 05591676f..9ff9c48ae 100644 --- a/examples/mujoco/runnable/halfcheetahBullet_v0_sac.py +++ b/examples/mujoco/runnable/halfcheetahBullet_v0_sac.py @@ -71,6 +71,8 @@ def test_sac(args=get_args()): args.action_shape, concat=True, device=args.device) critic1 = Critic(net, args.device).to(args.device) critic1_optim = torch.optim.Adam(critic1.parameters(), lr=args.critic_lr) + net = Net(args.layer_num, args.state_shape, + args.action_shape, concat=True, device=args.device) critic2 = Critic(net, args.device).to(args.device) critic2_optim = torch.optim.Adam(critic2.parameters(), lr=args.critic_lr) policy = SACPolicy( diff --git a/examples/mujoco/runnable/point_maze_td3.py b/examples/mujoco/runnable/point_maze_td3.py index ff42716c5..a02a4c309 100644 --- a/examples/mujoco/runnable/point_maze_td3.py +++ b/examples/mujoco/runnable/point_maze_td3.py @@ -72,6 +72,8 @@ def test_td3(args=get_args()): args.action_shape, concat=True, device=args.device) critic1 = Critic(net, args.device).to(args.device) critic1_optim = torch.optim.Adam(critic1.parameters(), lr=args.critic_lr) + net = Net(args.layer_num, args.state_shape, + args.action_shape, concat=True, device=args.device) critic2 = Critic(net, args.device).to(args.device) critic2_optim = torch.optim.Adam(critic2.parameters(), lr=args.critic_lr) policy = TD3Policy( diff --git a/tianshou/policy/modelfree/sac.py b/tianshou/policy/modelfree/sac.py index 10ea49334..543650d3f 100644 --- a/tianshou/policy/modelfree/sac.py +++ b/tianshou/policy/modelfree/sac.py @@ -39,8 +39,8 @@ class SACPolicy(DDPGPolicy): :param BaseNoise exploration_noise: add a noise to action for exploration, defaults to None. This is useful when solving hard-exploration problem. :param bool deterministic_eval: whether to use deterministic action (mean - of Gaussian policy) instead of random Gaussian policy, defaults to - True. + of Gaussian policy) instead of stochastic action sampled by the policy, + defaults to True. .. seealso:: @@ -121,7 +121,10 @@ def forward( # type: ignore logits, h = self.actor(obs, state=state, info=batch.info) assert isinstance(logits, tuple) dist = Independent(Normal(*logits), 1) - x = dist.rsample() + if self._deterministic_eval and not self.training: + x = logits[0] + else: + x = dist.rsample() y = torch.tanh(x) act = y * self._action_scale + self._action_bias y = self._action_scale * (1 - y.pow(2)) + self.__eps @@ -130,9 +133,6 @@ def forward( # type: ignore if self._noise is not None and not self.updating: act += to_torch_as(self._noise(act.shape), act) act = act.clamp(self._range[0], self._range[1]) - if self._deterministic_eval and not self.training: - act = torch.tanh(logits[0]) * \ - self._action_scale + self._action_bias return Batch( logits=logits, act=act, state=h, dist=dist, log_prob=log_prob) From b7d7f04bbcf2582c138e320081bbe04ad39d9f41 Mon Sep 17 00:00:00 2001 From: Trinkle23897 Date: Mon, 9 Nov 2020 16:07:22 +0800 Subject: [PATCH 14/14] fix --- examples/box2d/bipedal_hardcore_sac.py | 1 - tianshou/policy/modelfree/sac.py | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/examples/box2d/bipedal_hardcore_sac.py b/examples/box2d/bipedal_hardcore_sac.py index ec53cf1ba..bd38524e6 100644 --- a/examples/box2d/bipedal_hardcore_sac.py +++ b/examples/box2d/bipedal_hardcore_sac.py @@ -48,7 +48,6 @@ class Wrapper(gym.Wrapper): def __init__(self, env, action_repeat=3, reward_scale=5, rm_done=True): super().__init__(env) - self.env = env self.action_repeat = action_repeat self.reward_scale = reward_scale self.rm_done = rm_done diff --git a/tianshou/policy/modelfree/sac.py b/tianshou/policy/modelfree/sac.py index 543650d3f..014fbe6d5 100644 --- a/tianshou/policy/modelfree/sac.py +++ b/tianshou/policy/modelfree/sac.py @@ -130,7 +130,7 @@ def forward( # type: ignore y = self._action_scale * (1 - y.pow(2)) + self.__eps log_prob = dist.log_prob(x).unsqueeze(-1) log_prob = log_prob - torch.log(y).sum(-1, keepdim=True) - if self._noise is not None and not self.updating: + if self._noise is not None and self.training and not self.updating: act += to_torch_as(self._noise(act.shape), act) act = act.clamp(self._range[0], self._range[1]) return Batch(