mirror of
https://github.com/wassname/DeepRL.git
synced 2026-09-09 11:13:47 +08:00
N-Step Q-Learning and One-Step Sarsa
This commit is contained in:
@@ -7,6 +7,9 @@ def async_cart_pole():
|
||||
config['optimizer_fn'] = lambda params: torch.optim.SGD(params, 0.001)
|
||||
config['network_fn'] = lambda: FullyConnectedNet([4, 50, 200, 2])
|
||||
config['policy_fn'] = lambda: GreedyPolicy(epsilon=1.0, end_episode=500, min_epsilon=0.1)
|
||||
# config['bootstrap_fn'] = OneStepQLearning
|
||||
# config['bootstrap_fn'] = NStepQLearning
|
||||
config['bootstrap_fn'] = OneStepSarsa
|
||||
config['discount'] = 0.99
|
||||
config['target_network_update_freq'] = 200
|
||||
config['step_limit'] = 300
|
||||
@@ -17,6 +20,23 @@ def async_cart_pole():
|
||||
agent = AsyncAgent(**config)
|
||||
agent.run()
|
||||
|
||||
def async_lunar_lander():
|
||||
config = dict()
|
||||
config['task_fn'] = lambda: LunarLander()
|
||||
config['optimizer_fn'] = lambda params: torch.optim.Adam(params, 0.001)
|
||||
config['network_fn'] = lambda: FullyConnectedNet([8, 50, 200, 4])
|
||||
config['policy_fn'] = lambda: GreedyPolicy(epsilon=1.0, end_episode=2000, min_epsilon=0.05)
|
||||
config['bootstrap_fn'] = OneStepQLearning
|
||||
config['discount'] = 0.99
|
||||
config['target_network_update_freq'] = 200
|
||||
config['step_limit'] = 5000
|
||||
config['n_workers'] = 8
|
||||
config['batch_size'] = 10
|
||||
config['test_interval'] = 1000
|
||||
config['test_repeats'] = 5
|
||||
agent = AsyncAgent(**config)
|
||||
agent.run()
|
||||
|
||||
# Mountain Car is fairly unstable
|
||||
def dqn_mountain_car():
|
||||
config = dict()
|
||||
@@ -31,22 +51,6 @@ def dqn_mountain_car():
|
||||
agent = DQNAgent(**config)
|
||||
agent.run()
|
||||
|
||||
def async_lunar_lander():
|
||||
config = dict()
|
||||
config['task_fn'] = lambda: LunarLander()
|
||||
config['optimizer_fn'] = lambda params: torch.optim.Adam(params, 0.001)
|
||||
config['network_fn'] = lambda: FullyConnectedNet([8, 50, 200, 4])
|
||||
config['policy_fn'] = lambda: GreedyPolicy(epsilon=1.0, end_episode=2000, min_epsilon=0.05)
|
||||
config['discount'] = 0.99
|
||||
config['target_network_update_freq'] = 200
|
||||
config['step_limit'] = 5000
|
||||
config['n_workers'] = 8
|
||||
config['batch_size'] = 10
|
||||
config['test_interval'] = 1000
|
||||
config['test_repeats'] = 5
|
||||
agent = AsyncAgent(**config)
|
||||
agent.run()
|
||||
|
||||
def dqn_cart_pole():
|
||||
config = dict()
|
||||
config['task_fn'] = lambda: CartPole()
|
||||
|
||||
Reference in New Issue
Block a user