slm_lab/spec/benchmark/ppo/ppo_qbert.json
{
"ppo_qbert": {
"agent": [{
"name": "PPO",
"algorithm": {
"name": "PPO",
"action_pdtype": "default",
"action_policy": "default",
"explore_var_spec": null,
"gamma": 0.99,
"lam": 0.70,
"clip_eps_spec": {
"name": "no_decay",
"start_val": 0.10,
"end_val": 0.10,
"start_step": 0,
"end_step": 0
},
"entropy_coef_spec": {
"name": "no_decay",
"start_val": 0.01,
"end_val": 0.01,
"start_step": 0,
"end_step": 0
},
"val_loss_coef": 0.5,
"time_horizon": 128,
"minibatch_size": 256,
"training_epoch": 4
},
"memory": {
"name": "OnPolicyBatchReplay",
},
"net": {
"type": "ConvNet",
"shared": true,
"conv_hid_layers": [
[32, 8, 4, 0, 1],
[64, 4, 2, 0, 1],
[32, 3, 1, 0, 1]
],
"fc_hid_layers": [512],
"hid_layers_activation": "relu",
"init_fn": "orthogonal_",
"normalize": true,
"batch_norm": false,
"clip_grad_val": 0.5,
"use_same_optim": false,
"loss_spec": {
"name": "MSELoss"
},
"actor_optim_spec": {
"name": "Adam",
"lr": 2.5e-4,
},
"critic_optim_spec": {
"name": "Adam",
"lr": 2.5e-4,
},
"lr_scheduler_spec": {
"name": "LinearToZero",
"frame": 1e7
},
"gpu": true
}
}],
"env": [{
"name": "QbertNoFrameskip-v4",
"frame_op": "concat",
"frame_op_len": 4,
"reward_scale": "sign",
"num_envs": 16,
"max_t": null,
"max_frame": 1e7
}],
"body": {
"product": "outer",
"num": 1
},
"meta": {
"distributed": false,
"log_frequency": 10000,
"eval_frequency": 10000,
"rigorous_eval": 0,
"max_session": 4,
"max_trial": 1,
}
}
}