Files
ray-project--ray/rllib/examples/_old_api_stack/algorithms/atari-sac.yaml
T
2026-07-13 13:17:40 +08:00

56 lines
2.0 KiB
YAML

# @OldAPIStack
# Run e.g. on a g3.16xlarge (4 GPUs) with `num_gpus=1` (1 for each trial;
# MsPacman torch + tf; Pong torch + tf).
# Uses the hyperparameters published in [2] (see rllib/algorithms/sac/README.md).
atari-sac-tf-and-torch:
env:
grid_search:
- ale_py:ALE/MsPacman-v5
- ale_py:ALE/Pong-v5
run: SAC
stop:
timesteps_total: 20000000
config:
# Works for both torch and tf.
framework:
grid_search: [tf, torch]
env_config:
frameskip: 1 # no frameskip
gamma: 0.99
q_model_config:
hidden_activation: relu
hidden_layer_sizes: [512]
policy_model_config:
hidden_activation: relu
hidden_layer_sizes: [512]
# Do hard syncs.
# Soft-syncs seem to work less reliably for discrete action spaces.
tau: 1.0
target_network_update_freq: 8000
# auto = 0.98 * -log(1/|A|)
target_entropy: auto
clip_rewards: 1.0
n_step: 1
rollout_fragment_length: 1
replay_buffer_config:
type: MultiAgentPrioritizedReplayBuffer
capacity: 1000000
# How many steps of the model to sample before learning starts.
# If True prioritized replay buffer will be used.
prioritized_replay_alpha: 0.6
prioritized_replay_beta: 0.4
prioritized_replay_eps: 1e-6
num_steps_sampled_before_learning_starts: 100000
train_batch_size: 64
min_sample_timesteps_per_iteration: 4
# Paper uses 20k random timesteps, which is not exactly the same, but
# seems to work nevertheless. We use 100k here for the longer Atari
# runs (DQN style: filling up the buffer a bit before learning).
optimization:
actor_learning_rate: 0.0003
critic_learning_rate: 0.0003
entropy_learning_rate: 0.0003
num_env_runners: 0
num_gpus: 1
metrics_num_episodes_for_smoothing: 5