2020-04-15 13:25:16 +02:00
|
|
|
# Our implementation of SAC discrete can reach up
|
|
|
|
# to ~750 reward in 40k timesteps. Run e.g. on a g3.4xlarge with `num_gpus=1`.
|
|
|
|
# Uses the hyperparameters published in [2] (see rllib/agents/sac/README.md).
|
|
|
|
mspacman-sac-tf:
|
|
|
|
env: MsPacmanNoFrameskip-v4
|
|
|
|
run: SAC
|
|
|
|
stop:
|
|
|
|
episode_reward_mean: 800
|
|
|
|
timesteps_total: 100000
|
|
|
|
config:
|
2020-05-26 11:10:27 +02:00
|
|
|
# Works for both torch and tf.
|
2020-05-27 16:19:13 +02:00
|
|
|
framework: tf
|
2020-04-15 13:25:16 +02:00
|
|
|
gamma: 0.99
|
2022-05-22 18:58:47 +01:00
|
|
|
q_model_config:
|
2021-01-19 14:22:36 +01:00
|
|
|
fcnet_hiddens: [512]
|
|
|
|
fcnet_activation: relu
|
2022-05-22 18:58:47 +01:00
|
|
|
policy_model_config:
|
2021-01-19 14:22:36 +01:00
|
|
|
fcnet_hiddens: [512]
|
|
|
|
fcnet_activation: relu
|
2020-04-15 13:25:16 +02:00
|
|
|
# Do hard syncs.
|
|
|
|
# Soft-syncs seem to work less reliably for discrete action spaces.
|
|
|
|
tau: 1.0
|
|
|
|
target_network_update_freq: 8000
|
|
|
|
# paper uses: 0.98 * -log(1/|A|)
|
|
|
|
target_entropy: 1.755
|
|
|
|
clip_rewards: 1.0
|
|
|
|
no_done_at_end: False
|
|
|
|
n_step: 1
|
|
|
|
rollout_fragment_length: 1
|
|
|
|
train_batch_size: 64
|
2022-06-10 17:09:18 +02:00
|
|
|
min_sample_timesteps_per_iteration: 4
|
2020-04-15 13:25:16 +02:00
|
|
|
# Paper uses 20k random timesteps, which is not exactly the same, but
|
|
|
|
# seems to work nevertheless.
|
2022-05-17 13:43:49 +02:00
|
|
|
replay_buffer_config:
|
|
|
|
type: MultiAgentPrioritizedReplayBuffer
|
|
|
|
learning_starts: 20000
|
2020-04-15 13:25:16 +02:00
|
|
|
optimization:
|
|
|
|
actor_learning_rate: 0.0003
|
|
|
|
critic_learning_rate: 0.0003
|
|
|
|
entropy_learning_rate: 0.0003
|
|
|
|
num_workers: 0
|
|
|
|
num_gpus: 0
|
|
|
|
metrics_smoothing_episodes: 5
|