CANDLE Integration
CANDLE functionality is built into EXARL.
- Add/modify the learner parameters in ExaRL/config/learner_cfg.json
E.g.:-
{
"agent": "DQN-v0",
"env": "ExaLearnCartpole-v1",
"workflow": "async",
"n_episodes": 1,
"n_steps": 10,
"output_dir": "./exa_results_dir"
}
Add/modify the agent parameters in
ExaRL/exarl/agents/agent_vault/agent_cfg/<AgentName>_<model_type>.json
E.g.:-
{
"gamma": 0.75,
"epsilon": 1.0,
"epsilon_min" : 0.01,
"epsilon_decay" : 0.999,
"learning_rate" : 0.001,
"batch_size" : 32,
"tau" : 0.5,
"model_type" : "MLP",
"dense" : [64, 128],
"activation" : "relu",
"optimizer" : "adam",
"loss" : "mse"
}
Currently, DQN agent takes either MLP or LSTM as model_type.
- Add/modify the environment parameters in ExaRL/exarl/envs/env_vault/env_cfg/<EnvName>.json
E.g.:-
{
"worker_app": "./exarl/envs/env_vault/cpi.py"
}
Add/modify the workflow parameters in
ExaRL/exarl/config/workflow_cfg/<WorkflowName>.json
E.g.:-
{
"process_per_env": "1"
}
Please note the agent, environment, and workflow configuration file (json file) name must match the agent, environment, and workflow ID specified in
ExaRL/config/learner_cfg.json.
E.g.:- ExaRL/exarl/agents/agent_vault/agent_cfg/DQN-v0_LSTM.json, ExaRL/exarl/envs/env_vault/env_cfg/ExaCartPole-v1.json, and ExaRL/exarl/workflows/workflow_vault/workflow_cfg/async.json