def demo2_continuous_action_space_on_policy(): args = Arguments(if_on_policy=True) # hyper-parameters of on-policy is different from off-policy args.random_seed = 1943 '''choose an DRL algorithm''' from elegantrl.agent import AgentPPO args.agent = AgentPPO() args.agent.if_use_gae = False '''choose environment''' "TotalStep: 2e5, TargetReturn: -200, UsedTime: 300s, Pendulum-v0, PPO" env = gym.make('Pendulum-v0') env.target_return = -200 # set target_return manually for env 'Pendulum-v0' args.env = PreprocessEnv(env=env) args.reward_scale = 2 ** -3 # RewardRange: -1800 < -200 < -50 < 0 args.repeat_times = 2 ** 3 args.target_step = 200 * 8 args.eval_gap = 2 ** 6 "PPO TotalStep: 8e5, TargetReturn: 200, UsedTime: 1500s, LunarLanderContinuous-v2" # args.env = PreprocessEnv(env=gym.make('LunarLanderContinuous-v2')) # args.reward_scale = 2 ** 0 # RewardRange: -800 < -200 < 200 < 302 "PPO TotalStep: 8e5, TargetReturn: 300, UsedTime: 1800s, BipedalWalker-v3" # args.env = PreprocessEnv(env=gym.make('BipedalWalker-v3')) # args.reward_scale = 2 ** 0 # RewardRange: -200 < -150 < 300 < 334 # args.gamma = 0.96 '''train and evaluate''' # train_and_evaluate(args) args.rollout_num = 2 train_and_evaluate_mp(args)
def demo4_bullet_mujoco_off_policy(): args = Arguments(if_on_policy=False) args.random_seed = 10086 from elegantrl.agent import AgentModSAC # AgentSAC, AgentTD3, AgentDDPG args.agent = AgentModSAC() # AgentSAC(), AgentTD3(), AgentDDPG() args.agent.if_use_dn = True import pybullet_envs # for python-bullet-gym dir(pybullet_envs) "TotalStep: 5e4, TargetReturn: 18, UsedTime: 1100s, ReacherBulletEnv-v0" "TotalStep: 30e4, TargetReturn: 25, UsedTime: s, ReacherBulletEnv-v0" args.env = PreprocessEnv(gym.make('ReacherBulletEnv-v0')) args.env.max_step = 2 ** 10 # important, default env.max_step=150 args.reward_scale = 2 ** 0 # -80 < -30 < 18 < 28 args.gamma = 0.96 args.break_step = int(6e4 * 8) # (4e4) 8e5, UsedTime: (300s) 700s args.eval_times1 = 2 ** 2 args.eval_times1 = 2 ** 5 args.if_per = True train_and_evaluate(args) "TotalStep: 3e5, TargetReward: 1500, UsedTime: 4ks, AntBulletEnv-v0 ModSAC if_use_dn" "TotalStep: 4e5, TargetReward: 2500, UsedTime: 6ks, AntBulletEnv-v0 ModSAC if_use_dn" "TotalStep: 10e5, TargetReward: 2879, UsedTime: ks, AntBulletEnv-v0 ModSAC if_use_dn" "TotalStep: 3e5, TargetReward: 1500, UsedTime: 8ks, AntBulletEnv-v0 ModSAC if_use_cn" "TotalStep: 7e5, TargetReward: 2500, UsedTime: 18ks, AntBulletEnv-v0 ModSAC if_use_cn" "TotalStep: 16e5, TargetReward: 2923, UsedTime: ks, AntBulletEnv-v0 ModSAC if_use_cn" args.env = PreprocessEnv(env=gym.make('AntBulletEnv-v0')) args.break_step = int(6e5 * 8) # (5e5) 1e6, UsedTime: (15,000s) 30,000s args.if_allow_break = False args.reward_scale = 2 ** -2 # RewardRange: -50 < 0 < 2500 < 3340 args.max_memo = 2 ** 21 args.batch_size = 2 ** 8 args.repeat_times = 2 ** 1 args.eval_gap = 2 ** 9 # for Recorder args.eva_size1 = 2 ** 1 # for Recorder args.eva_size2 = 2 ** 3 # for Recorder # train_and_evaluate(args) args.rollout_num = 4 train_and_evaluate_mp(args)