kengz/SLM-Lab

View on GitHub
slm_lab/spec/experimental/a2c/a2c_pendulum.json

Summary

Maintainability
Test Coverage
{
  "a2c_shared_pendulum": {
    "agent": [{
      "name": "A2C",
      "algorithm": {
        "name": "ActorCritic",
        "action_pdtype": "default",
        "action_policy": "default",
        "explore_var_spec": null,
        "gamma": 0.99,
        "lam": 0.95,
        "num_step_returns": null,
        "entropy_coef_spec": {
          "name": "linear_decay",
          "start_val": 0.01,
          "end_val": 0.001,
          "start_step": 100,
          "end_step": 5000,
        },
        "policy_loss_coef": 1.0,
        "val_loss_coef": 0.01,
        "training_frequency": 1,
      },
      "memory": {
        "name": "OnPolicyReplay"
      },
      "net": {
        "type": "MLPNet",
        "shared": true,
        "hid_layers": [64],
        "hid_layers_activation": "relu",
        "clip_grad_val": null,
        "use_same_optim": false,
        "actor_optim_spec": {
          "name": "Adam",
          "lr": 0.02
        },
        "critic_optim_spec": {
          "name": "Adam",
          "lr": 0.02
        },
        "lr_scheduler_spec": {
          "name": "StepLR",
          "step_size": 500,
          "gamma": 0.9,
        },
        "gpu": false
      }
    }],
    "env": [{
      "name": "Pendulum-v0",
      "max_t": null,
      "max_frame": 500,
    }],
    "body": {
      "product": "outer",
      "num": 1
    },
    "meta": {
      "distributed": false,
      "eval_frequency": 1000,
      "max_session": 4,
      "max_trial": 100,
      "search": "RandomSearch"
    },
    "search": {
      "agent": [{
        "algorithm": {
          "gamma__uniform": [0.90, 0.99],
          "lam__uniform": [0.1, 1.0]
        },
        "net": {
          "actor_optim_spec": {
            "lr__uniform": [0.0001, 0.1]
          },
          "critic_optim_spec": {
            "lr__uniform": [0.0001, 0.1]
          }
        }
      }]
    }
  },
  "a2c_separate_pendulum": {
    "agent": [{
      "name": "A2C",
      "algorithm": {
        "name": "ActorCritic",
        "action_pdtype": "default",
        "action_policy": "default",
        "explore_var_spec": null,
        "gamma": 0.99,
        "lam": 0.95,
        "num_step_returns": null,
        "entropy_coef_spec": {
          "name": "linear_decay",
          "start_val": 0.01,
          "end_val": 0.001,
          "start_step": 100,
          "end_step": 5000,
        },
        "policy_loss_coef": 1.0,
        "val_loss_coef": 0.01,
        "training_frequency": 1,
      },
      "memory": {
        "name": "OnPolicyReplay"
      },
      "net": {
        "type": "MLPNet",
        "shared": false,
        "hid_layers": [64],
        "hid_layers_activation": "relu",
        "clip_grad_val": null,
        "use_same_optim": false,
        "actor_optim_spec": {
          "name": "Adam",
          "lr": 0.02
        },
        "critic_optim_spec": {
          "name": "Adam",
          "lr": 0.02
        },
        "lr_scheduler_spec": {
          "name": "StepLR",
          "step_size": 500,
          "gamma": 0.9,
        },
        "gpu": false
      }
    }],
    "env": [{
      "name": "Pendulum-v0",
      "max_t": null,
      "max_frame": 500,
    }],
    "body": {
      "product": "outer",
      "num": 1
    },
    "meta": {
      "distributed": false,
      "eval_frequency": 1000,
      "max_session": 4,
      "max_trial": 100,
      "search": "RandomSearch"
    },
    "search": {
      "agent": [{
        "algorithm": {
          "gamma__uniform": [0.90, 0.99],
          "lam__uniform": [0.1, 1.0]
        },
        "net": {
          "actor_optim_spec": {
            "lr__uniform": [0.0001, 0.1]
          },
          "critic_optim_spec": {
            "lr__uniform": [0.0001, 0.1]
          }
        }
      }]
    }
  },
  "a2c_concat_pendulum": {
    "agent": [{
      "name": "A2C",
      "algorithm": {
        "name": "ActorCritic",
        "action_pdtype": "default",
        "action_policy": "default",
        "explore_var_spec": null,
        "gamma": 0.99,
        "lam": 0.95,
        "num_step_returns": null,
        "entropy_coef_spec": {
          "name": "linear_decay",
          "start_val": 0.01,
          "end_val": 0.001,
          "start_step": 100,
          "end_step": 5000,
        },
        "policy_loss_coef": 1.0,
        "val_loss_coef": 0.01,
        "training_frequency": 1,
      },
      "memory": {
        "name": "OnPolicyReplay"
      },
      "net": {
        "type": "MLPNet",
        "shared": false,
        "hid_layers": [64],
        "hid_layers_activation": "relu",
        "clip_grad_val": null,
        "use_same_optim": false,
        "actor_optim_spec": {
          "name": "Adam",
          "lr": 0.02
        },
        "critic_optim_spec": {
          "name": "Adam",
          "lr": 0.02
        },
        "lr_scheduler_spec": {
          "name": "StepLR",
          "step_size": 500,
          "gamma": 0.9,
        },
        "gpu": false
      }
    }],
    "env": [{
      "name": "Pendulum-v0",
      "frame_op": "concat",
      "frame_op_len": 4,
      "max_t": null,
      "max_frame": 500,
    }],
    "body": {
      "product": "outer",
      "num": 1
    },
    "meta": {
      "distributed": false,
      "eval_frequency": 1000,
      "max_session": 4,
      "max_trial": 100,
      "search": "RandomSearch"
    },
    "search": {
      "agent": [{
        "algorithm": {
          "gamma__uniform": [0.90, 0.99],
          "lam__uniform": [0.1, 1.0]
        },
        "net": {
          "actor_optim_spec": {
            "lr__uniform": [0.0001, 0.1]
          },
          "critic_optim_spec": {
            "lr__uniform": [0.0001, 0.1]
          }
        }
      }]
    }
  },
  "a2c_rnn_shared_pendulum": {
    "agent": [{
      "name": "A2C",
      "algorithm": {
        "name": "ActorCritic",
        "action_pdtype": "default",
        "action_policy": "default",
        "explore_var_spec": null,
        "gamma": 0.99,
        "lam": 0.95,
        "num_step_returns": null,
        "entropy_coef_spec": {
          "name": "linear_decay",
          "start_val": 0.01,
          "end_val": 0.001,
          "start_step": 100,
          "end_step": 5000,
        },
        "policy_loss_coef": 1.0,
        "val_loss_coef": 0.01,
        "training_frequency": 1,
      },
      "memory": {
        "name": "OnPolicyReplay"
      },
      "net": {
        "type": "RecurrentNet",
        "shared": true,
        "cell_type": "GRU",
        "fc_hid_layers": [],
        "hid_layers_activation": "relu",
        "rnn_hidden_size": 64,
        "rnn_num_layers": 1,
        "seq_len": 4,
        "clip_grad_val": null,
        "use_same_optim": false,
        "actor_optim_spec": {
          "name": "Adam",
          "lr": 0.02
        },
        "critic_optim_spec": {
          "name": "Adam",
          "lr": 0.02
        },
        "lr_scheduler_spec": {
          "name": "StepLR",
          "step_size": 500,
          "gamma": 0.9,
        },
        "gpu": false
      }
    }],
    "env": [{
      "name": "Pendulum-v0",
      "max_t": null,
      "max_frame": 500,
    }],
    "body": {
      "product": "outer",
      "num": 1
    },
    "meta": {
      "distributed": false,
      "eval_frequency": 1000,
      "max_session": 4,
      "max_trial": 100,
      "search": "RandomSearch"
    },
    "search": {
      "agent": [{
        "algorithm": {
          "gamma__uniform": [0.90, 0.99],
          "lam__uniform": [0.1, 1.0]
        },
        "net": {
          "actor_optim_spec": {
            "lr__uniform": [0.0001, 0.1]
          },
          "critic_optim_spec": {
            "lr__uniform": [0.0001, 0.1]
          }
        }
      }]
    }
  },
  "a2c_rnn_separate_pendulum": {
    "agent": [{
      "name": "A2C",
      "algorithm": {
        "name": "ActorCritic",
        "action_pdtype": "default",
        "action_policy": "default",
        "explore_var_spec": null,
        "gamma": 0.99,
        "lam": 0.95,
        "num_step_returns": null,
        "entropy_coef_spec": {
          "name": "linear_decay",
          "start_val": 0.01,
          "end_val": 0.001,
          "start_step": 100,
          "end_step": 5000,
        },
        "policy_loss_coef": 1.0,
        "val_loss_coef": 0.01,
        "training_frequency": 1,
      },
      "memory": {
        "name": "OnPolicyReplay"
      },
      "net": {
        "type": "RecurrentNet",
        "shared": false,
        "cell_type": "GRU",
        "fc_hid_layers": [],
        "hid_layers_activation": "relu",
        "rnn_hidden_size": 64,
        "rnn_num_layers": 1,
        "seq_len": 4,
        "clip_grad_val": null,
        "use_same_optim": false,
        "actor_optim_spec": {
          "name": "Adam",
          "lr": 0.02
        },
        "critic_optim_spec": {
          "name": "Adam",
          "lr": 0.02
        },
        "lr_scheduler_spec": {
          "name": "StepLR",
          "step_size": 500,
          "gamma": 0.9,
        },
        "gpu": false
      }
    }],
    "env": [{
      "name": "Pendulum-v0",
      "max_t": null,
      "max_frame": 500,
    }],
    "body": {
      "product": "outer",
      "num": 1
    },
    "meta": {
      "distributed": false,
      "eval_frequency": 1000,
      "max_session": 4,
      "max_trial": 100,
      "search": "RandomSearch"
    },
    "search": {
      "agent": [{
        "algorithm": {
          "gamma__uniform": [0.90, 0.99],
          "lam__uniform": [0.1, 1.0]
        },
        "net": {
          "actor_optim_spec": {
            "lr__uniform": [0.0001, 0.1]
          },
          "critic_optim_spec": {
            "lr__uniform": [0.0001, 0.1]
          }
        }
      }]
    }
  }
}