File size: 13,122 Bytes
6f779f2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
{
  "help": false,
  "algo": "APPO",
  "env": "GDY-MettaGrid",
  "experiment": "p2.metta.6",
  "train_dir": "/workspace/metta/train_dir",
  "restart_behavior": "resume",
  "device": "gpu",
  "seed": 0,
  "num_policies": 1,
  "async_rl": true,
  "serial_mode": false,
  "batched_sampling": false,
  "num_batches_to_accumulate": 2,
  "worker_num_splits": 2,
  "policy_workers_per_policy": 1,
  "max_policy_lag": 50,
  "num_workers": 32,
  "num_envs_per_worker": 2,
  "batch_size": 16384,
  "num_batches_per_epoch": 1,
  "num_epochs": 1,
  "rollout": 256,
  "recurrence": 256,
  "shuffle_minibatches": false,
  "gamma": 0.99,
  "reward_scale": 1.0,
  "reward_clip": 1000.0,
  "value_bootstrap": false,
  "normalize_returns": true,
  "exploration_loss_coeff": 0.002,
  "value_loss_coeff": 0.976,
  "kl_loss_coeff": 0.0,
  "aux_loss_coeff": 0.0,
  "exploration_loss": "symmetric_kl",
  "gae_lambda": 0.95,
  "ppo_clip_ratio": 0.1,
  "ppo_clip_value": 1.0,
  "with_vtrace": false,
  "vtrace_rho": 1.0,
  "vtrace_c": 1.0,
  "optimizer": "adam",
  "adam_eps": 1e-06,
  "adam_beta1": 0.9,
  "adam_beta2": 0.999,
  "max_grad_norm": 4.0,
  "learning_rate": 0.0001,
  "lr_schedule": "constant",
  "lr_schedule_kl_threshold": 0.008,
  "lr_adaptive_min": 1e-06,
  "lr_adaptive_max": 0.01,
  "obs_subtract_mean": 0.0,
  "obs_scale": 1.0,
  "normalize_input": false,
  "normalize_input_keys": null,
  "decorrelate_experience_max_seconds": 150,
  "decorrelate_envs_on_one_worker": true,
  "actor_worker_gpus": [],
  "set_workers_cpu_affinity": true,
  "force_envs_single_thread": false,
  "default_niceness": 0,
  "log_to_file": true,
  "experiment_summaries_interval": 10,
  "flush_summaries_interval": 30,
  "stats_avg": 100,
  "summaries_use_frameskip": true,
  "heartbeat_interval": 20,
  "heartbeat_reporting_interval": 180,
  "train_for_env_steps": 9999999999999,
  "train_for_seconds": 10000000000,
  "save_every_sec": 120,
  "keep_checkpoints": 2,
  "load_checkpoint_path": null,
  "init_checkpoint_path": null,
  "load_checkpoint_kind": "latest",
  "save_milestones_sec": -1,
  "save_best_every_sec": 5,
  "save_best_metric": "reward",
  "save_best_after": 100000,
  "benchmark": false,
  "encoder_mlp_layers": [
    512,
    512
  ],
  "encoder_conv_architecture": "convnet_simple",
  "encoder_conv_mlp_layers": [
    512
  ],
  "use_rnn": true,
  "rnn_size": 512,
  "rnn_type": "gru",
  "rnn_num_layers": 1,
  "decoder_mlp_layers": [],
  "nonlinearity": "elu",
  "policy_initialization": "orthogonal",
  "policy_init_gain": 1.0,
  "actor_critic_share_weights": true,
  "adaptive_stddev": true,
  "continuous_tanh_scale": 0.0,
  "initial_stddev": 1.0,
  "use_env_info_cache": false,
  "env_gpu_actions": false,
  "env_gpu_observations": true,
  "env_frameskip": 1,
  "env_framestack": 1,
  "pixel_format": "CHW",
  "use_record_episode_statistics": false,
  "episode_counter": false,
  "with_wandb": true,
  "wandb_user": "platypus",
  "wandb_project": "metta",
  "wandb_group": null,
  "wandb_job_type": "SF",
  "wandb_tags": [],
  "with_pbt": false,
  "pbt_mix_policies_in_one_env": true,
  "pbt_period_env_steps": 5000000,
  "pbt_start_mutation": 20000000,
  "pbt_replace_fraction": 0.3,
  "pbt_mutation_rate": 0.15,
  "pbt_replace_reward_gap": 0.1,
  "pbt_replace_reward_gap_absolute": 1e-06,
  "pbt_optimize_gamma": false,
  "pbt_target_objective": "true_objective",
  "pbt_perturb_min": 1.1,
  "pbt_perturb_max": 1.5,
  "env_cfg": "{\"name\": \"GDY-MettaGrid\", \"_target_\": \"env.griddly.mettagrid.gym_env.MettaGridGymEnv\", \"max_action_value\": 10, \"game_builder\": {\"_target_\": \"env.griddly.mettagrid.game_builder.MettaGridGameBuilder\", \"obs_width\": 11, \"obs_height\": 11, \"max_steps\": 1000, \"tile_size\": 16, \"num_agents\": 20, \"objects\": {\"agent\": {\"initial_energy\": 100, \"max_energy\": 500, \"max_inventory\": 5, \"freeze_duration\": 10, \"hp\": 1, \"upkeep\": {\"shield\": 1}}, \"altar\": {\"hp\": 30, \"cooldown\": 2, \"cost\": 100}, \"converter\": {\"hp\": 30, \"cooldown\": 2, \"energy_output\": 50, \"cost\": 0}, \"generator\": {\"hp\": 30, \"cooldown\": 5, \"initial_resources\": 30, \"cost\": 0}, \"wall\": {\"density\": 0.01, \"hp\": 10}}, \"actions\": {\"move\": {\"cost\": 0}, \"rotate\": {\"cost\": 0}, \"jump\": {\"cost\": 3}, \"shield\": {\"cost\": 0}, \"drop\": {\"cost\": 1}, \"use\": {\"cost\": 0}, \"attack\": {\"cost\": 5, \"damage\": 5}}, \"map\": {\"layout\": [[\"base\", \"wild_1\", \"base\"], [\"wild_2\", \"center\", \"wild_2\"], [\"base\", \"wild_1\", \"base\"]], \"room\": {\"width\": 25, \"height\": 25, \"num_agents\": 5, \"objects\": {\"agent\": 5, \"altar\": 1, \"converter\": 3, \"generator\": 15, \"wall\": 10}}, \"wild_1\": {\"width\": 10, \"height\": 15, \"border\": 0, \"objects\": {\"agent\": 0, \"altar\": 1, \"converter\": 1, \"generator\": 5, \"wall\": 5}}, \"wild_2\": {\"width\": 15, \"height\": 10, \"border\": 0, \"objects\": {\"agent\": 0, \"altar\": 1, \"converter\": 1, \"generator\": 5, \"wall\": 5}}, \"center\": {\"width\": 10, \"height\": 10, \"border\": 0, \"objects\": {\"agent\": 0, \"altar\": 2, \"converter\": 5, \"generator\": 10, \"wall\": 20}}, \"base\": {\"width\": 15, \"height\": 15, \"border\": 1, \"objects\": {\"agent\": 5, \"altar\": 1, \"converter\": 3, \"generator\": 5, \"wall\": 5}}}}}",
  "agent_cfg": "{\"_target_\": \"agent.metta_agent.MettaAgent\", \"observation_encoders\": {\"grid_obs\": {\"feature_names\": [], \"normalize_features\": true, \"label_dim\": 4, \"output_dim\": 512, \"layers\": 4}, \"global_vars\": {\"feature_names\": [], \"normalize_features\": true, \"label_dim\": 4, \"output_dim\": 8, \"layers\": 2}, \"last_action\": {\"feature_names\": [\"last_action_id\", \"last_action_val\"], \"normalize_features\": true, \"label_dim\": 4, \"output_dim\": 8, \"layers\": 2}, \"last_reward\": {\"feature_names\": [\"last_reward\"], \"normalize_features\": true, \"label_dim\": 4, \"output_dim\": 8, \"layers\": 2}}, \"fc\": {\"layers\": 3, \"output_dim\": 512}, \"decoder\": {\"_target_\": \"agent.decoder.Decoder\"}, \"core\": {\"_target_\": \"sample_factory.model.core.ModelCoreRNN\", \"rnn_type\": \"gru\", \"rnn_num_layers\": 1, \"rnn_size\": 512}}",
  "command_line": "--aux_loss_coef=0 --recurrence=256 --rollout=256 --value_loss_coeff=0.976 --exploration_loss=symmetric_kl --exploration_loss_coeff=0.002 --policy_initialization=orthogonal --learning_rate=0.0001 --max_policy_lag=50 --nonlinearity=elu --load_checkpoint_kind=latest --normalize_input=False --seed=0 --batch_size=16384 --decorrelate_experience_max_seconds=150 --train_for_env_steps=9999999999999 --with_wandb=True --wandb_user=platypus --wandb_project=metta --experiment=p2.metta.6 --rnn_type=gru --rnn_num_layers=1 --rnn_size=512 --env=GDY-MettaGrid --env_cfg={\"name\": \"GDY-MettaGrid\", \"_target_\": \"env.griddly.mettagrid.gym_env.MettaGridGymEnv\", \"max_action_value\": 10, \"game_builder\": {\"_target_\": \"env.griddly.mettagrid.game_builder.MettaGridGameBuilder\", \"obs_width\": 11, \"obs_height\": 11, \"max_steps\": 1000, \"tile_size\": 16, \"num_agents\": 20, \"objects\": {\"agent\": {\"initial_energy\": 100, \"max_energy\": 500, \"max_inventory\": 5, \"freeze_duration\": 10, \"hp\": 1, \"upkeep\": {\"shield\": 1}}, \"altar\": {\"hp\": 30, \"cooldown\": 2, \"cost\": 100}, \"converter\": {\"hp\": 30, \"cooldown\": 2, \"energy_output\": 50, \"cost\": 0}, \"generator\": {\"hp\": 30, \"cooldown\": 5, \"initial_resources\": 30, \"cost\": 0}, \"wall\": {\"density\": 0.01, \"hp\": 10}}, \"actions\": {\"move\": {\"cost\": 0}, \"rotate\": {\"cost\": 0}, \"jump\": {\"cost\": 3}, \"shield\": {\"cost\": 0}, \"drop\": {\"cost\": 1}, \"use\": {\"cost\": 0}, \"attack\": {\"cost\": 5, \"damage\": 5}}, \"map\": {\"layout\": [[\"base\", \"wild_1\", \"base\"], [\"wild_2\", \"center\", \"wild_2\"], [\"base\", \"wild_1\", \"base\"]], \"room\": {\"width\": 25, \"height\": 25, \"num_agents\": 5, \"objects\": {\"agent\": 5, \"altar\": 1, \"converter\": 3, \"generator\": 15, \"wall\": 10}}, \"wild_1\": {\"width\": 10, \"height\": 15, \"border\": 0, \"objects\": {\"agent\": 0, \"altar\": 1, \"converter\": 1, \"generator\": 5, \"wall\": 5}}, \"wild_2\": {\"width\": 15, \"height\": 10, \"border\": 0, \"objects\": {\"agent\": 0, \"altar\": 1, \"converter\": 1, \"generator\": 5, \"wall\": 5}}, \"center\": {\"width\": 10, \"height\": 10, \"border\": 0, \"objects\": {\"agent\": 0, \"altar\": 2, \"converter\": 5, \"generator\": 10, \"wall\": 20}}, \"base\": {\"width\": 15, \"height\": 15, \"border\": 1, \"objects\": {\"agent\": 5, \"altar\": 1, \"converter\": 3, \"generator\": 5, \"wall\": 5}}}}} --agent_cfg={\"_target_\": \"agent.metta_agent.MettaAgent\", \"observation_encoders\": {\"grid_obs\": {\"feature_names\": [], \"normalize_features\": true, \"label_dim\": 4, \"output_dim\": 512, \"layers\": 4}, \"global_vars\": {\"feature_names\": [], \"normalize_features\": true, \"label_dim\": 4, \"output_dim\": 8, \"layers\": 2}, \"last_action\": {\"feature_names\": [\"last_action_id\", \"last_action_val\"], \"normalize_features\": true, \"label_dim\": 4, \"output_dim\": 8, \"layers\": 2}, \"last_reward\": {\"feature_names\": [\"last_reward\"], \"normalize_features\": true, \"label_dim\": 4, \"output_dim\": 8, \"layers\": 2}}, \"fc\": {\"layers\": 3, \"output_dim\": 512}, \"decoder\": {\"_target_\": \"agent.decoder.Decoder\"}, \"core\": {\"_target_\": \"sample_factory.model.core.ModelCoreRNN\", \"rnn_type\": \"gru\", \"rnn_num_layers\": 1, \"rnn_size\": 512}}",
  "cli_args": {
    "env": "GDY-MettaGrid",
    "experiment": "p2.metta.6",
    "seed": 0,
    "max_policy_lag": 50,
    "batch_size": 16384,
    "rollout": 256,
    "recurrence": 256,
    "exploration_loss_coeff": 0.002,
    "value_loss_coeff": 0.976,
    "aux_loss_coeff": 0.0,
    "exploration_loss": "symmetric_kl",
    "learning_rate": 0.0001,
    "normalize_input": false,
    "decorrelate_experience_max_seconds": 150,
    "train_for_env_steps": 9999999999999,
    "load_checkpoint_kind": "latest",
    "rnn_size": 512,
    "rnn_type": "gru",
    "rnn_num_layers": 1,
    "nonlinearity": "elu",
    "policy_initialization": "orthogonal",
    "with_wandb": true,
    "wandb_user": "platypus",
    "wandb_project": "metta",
    "env_cfg": "{\"name\": \"GDY-MettaGrid\", \"_target_\": \"env.griddly.mettagrid.gym_env.MettaGridGymEnv\", \"max_action_value\": 10, \"game_builder\": {\"_target_\": \"env.griddly.mettagrid.game_builder.MettaGridGameBuilder\", \"obs_width\": 11, \"obs_height\": 11, \"max_steps\": 1000, \"tile_size\": 16, \"num_agents\": 20, \"objects\": {\"agent\": {\"initial_energy\": 100, \"max_energy\": 500, \"max_inventory\": 5, \"freeze_duration\": 10, \"hp\": 1, \"upkeep\": {\"shield\": 1}}, \"altar\": {\"hp\": 30, \"cooldown\": 2, \"cost\": 100}, \"converter\": {\"hp\": 30, \"cooldown\": 2, \"energy_output\": 50, \"cost\": 0}, \"generator\": {\"hp\": 30, \"cooldown\": 5, \"initial_resources\": 30, \"cost\": 0}, \"wall\": {\"density\": 0.01, \"hp\": 10}}, \"actions\": {\"move\": {\"cost\": 0}, \"rotate\": {\"cost\": 0}, \"jump\": {\"cost\": 3}, \"shield\": {\"cost\": 0}, \"drop\": {\"cost\": 1}, \"use\": {\"cost\": 0}, \"attack\": {\"cost\": 5, \"damage\": 5}}, \"map\": {\"layout\": [[\"base\", \"wild_1\", \"base\"], [\"wild_2\", \"center\", \"wild_2\"], [\"base\", \"wild_1\", \"base\"]], \"room\": {\"width\": 25, \"height\": 25, \"num_agents\": 5, \"objects\": {\"agent\": 5, \"altar\": 1, \"converter\": 3, \"generator\": 15, \"wall\": 10}}, \"wild_1\": {\"width\": 10, \"height\": 15, \"border\": 0, \"objects\": {\"agent\": 0, \"altar\": 1, \"converter\": 1, \"generator\": 5, \"wall\": 5}}, \"wild_2\": {\"width\": 15, \"height\": 10, \"border\": 0, \"objects\": {\"agent\": 0, \"altar\": 1, \"converter\": 1, \"generator\": 5, \"wall\": 5}}, \"center\": {\"width\": 10, \"height\": 10, \"border\": 0, \"objects\": {\"agent\": 0, \"altar\": 2, \"converter\": 5, \"generator\": 10, \"wall\": 20}}, \"base\": {\"width\": 15, \"height\": 15, \"border\": 1, \"objects\": {\"agent\": 5, \"altar\": 1, \"converter\": 3, \"generator\": 5, \"wall\": 5}}}}}",
    "agent_cfg": "{\"_target_\": \"agent.metta_agent.MettaAgent\", \"observation_encoders\": {\"grid_obs\": {\"feature_names\": [], \"normalize_features\": true, \"label_dim\": 4, \"output_dim\": 512, \"layers\": 4}, \"global_vars\": {\"feature_names\": [], \"normalize_features\": true, \"label_dim\": 4, \"output_dim\": 8, \"layers\": 2}, \"last_action\": {\"feature_names\": [\"last_action_id\", \"last_action_val\"], \"normalize_features\": true, \"label_dim\": 4, \"output_dim\": 8, \"layers\": 2}, \"last_reward\": {\"feature_names\": [\"last_reward\"], \"normalize_features\": true, \"label_dim\": 4, \"output_dim\": 8, \"layers\": 2}}, \"fc\": {\"layers\": 3, \"output_dim\": 512}, \"decoder\": {\"_target_\": \"agent.decoder.Decoder\"}, \"core\": {\"_target_\": \"sample_factory.model.core.ModelCoreRNN\", \"rnn_type\": \"gru\", \"rnn_num_layers\": 1, \"rnn_size\": 512}}"
  },
  "git_hash": "6e97daa70c767bdbd708d90489bf1e623b94ae16",
  "git_repo_name": "https://github.com/daveey/metta.git",
  "wandb_unique_id": "p2.metta.6_20240610_092631_757116"
}