예제 #1
0
fc_names = ["MFC_{}".format(*v) for v in NOC_FC_SIZES]

# A2C
experiment_title = "A2C_Atari"
variant_levels = list()
variant_levels.append(VariantLevel(game_key, games, game_names))  # Games
variant_levels.append(VariantLevel(fc_key, NOC_FC_SIZES,
                                   fc_names))  # Smaller or larger model
variant_levels.append(VariantLevel(lr_key, A2C_LRS,
                                   lr_names_a2c))  # Learning rates
variants, log_dirs = make_variants(*variant_levels)
run_experiments(
    script=path_a2c,
    affinity_code=affinity_code,
    experiment_title=experiment_title,
    runs_per_setting=runs_per_setting,
    variants=variants,
    log_dirs=log_dirs,
    common_args=(default_key, ),
)

# PPO
experiment_title = "PPO_Atari"
variant_levels = list()
variant_levels.append(VariantLevel(game_key, games, game_names))  # Games
variant_levels.append(VariantLevel(fc_key, NOC_FC_SIZES,
                                   fc_names))  # Smaller or larger model
variant_levels.append(VariantLevel(lr_key, PPO_LRS,
                                   lr_names_ppo))  # Learning rates
variants, log_dirs = make_variants(*variant_levels)
run_experiments(
script = "rlpyt/experiments/scripts/atari/pg/train/atari_ff_a2c_gpu.py"
affinity_code = encode_affinity(n_cpu_core=16,
                                n_gpu=4,
                                hyperthread_offset=20,
                                n_socket=2
                                # cpu_per_run=2,
                                )
runs_per_setting = 2
experiment_title = "atari_ff_a2c_basic"
variant_levels = list()

games = ["pong", "seaquest", "qbert", "chopper_command"]
values = list(zip(games))
dir_names = ["{}".format(*v) for v in values]
keys = [("env", "game")]
variant_levels.append(VariantLevel(keys, values, dir_names))

variants, log_dirs = make_variants(*variant_levels)

default_config_key = "0"

run_experiments(
    script=script,
    affinity_code=affinity_code,
    experiment_title=experiment_title,
    runs_per_setting=runs_per_setting,
    variants=variants,
    log_dirs=log_dirs,
    common_args=(default_config_key, ),
)
예제 #3
0
runs_per_setting = 2
experiment_title = "example_6"
variant_levels = list()

# Within a variant level, list each combination explicitly.
learning_rate = [7e-4, 1e-3]
batch_B = [16, 32]
values = list(zip(learning_rate, batch_B))
dir_names = ["example6_{}lr_{}B".format(*v) for v in values]
keys = [("algo", "learning_rate"), ("sampler", "batch_B")]
variant_levels.append(VariantLevel(keys, values, dir_names))

games = ["pong", "seaquest"]
values = list(zip(games))
dir_names = ["{}".format(*v) for v in values]
keys = [("env", "game")]
variant_levels.append(VariantLevel(keys, values, dir_names))

# Between variant levels, make all combinations.
variants, log_dirs = make_variants(*variant_levels)

run_experiments(
    script="examples/example_6a.py",
    affinity_code=affinity_code,
    experiment_title=experiment_title,
    runs_per_setting=runs_per_setting,
    variants=variants,
    log_dirs=log_dirs,
)