{ "help": false, "algo": "APPO", "env": "GDY-MettaGrid", "experiment": "p2.metta.4", "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.4 --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\", \"game_builder\": {\"_target_\": \"env.griddly.mettagrid.game_builder.MettaGridGameBuilder\", \"obs_width\": 11, \"obs_height\": 11, \"max_steps\": 1000, \"tile_size\": 16, \"width\": 40, \"height\": 40, \"objects\": {\"agent\": {\"count\": 20, \"initial_energy\": 100, \"max_energy\": 500, \"max_inventory\": 5, \"freeze_duration\": 10, \"hp\": 1, \"upkeep\": {\"shield\": 1}}, \"altar\": {\"hp\": 30, \"count\": 5, \"cooldown\": 2, \"cost\": 100}, \"converter\": {\"hp\": 30, \"count\": 10, \"cooldown\": 2, \"energy_output\": 50, \"cost\": 0}, \"generator\": {\"hp\": 30, \"count\": 50, \"cooldown\": 50, \"initial_resources\": 100, \"cost\": 0}, \"wall\": {\"density\": 0.01, \"hp\": 10}, \"charger\": {\"count\": 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}}}, \"global_features\": [\"conf:agent:energy:initial\", \"conf:agent:energy:max\", \"conf:altar:cooldown\", \"conf:altar:cost\", \"conf:attack:damage\", \"conf:attack:freeze_duration\", \"conf:charger:cooldown\", \"conf:charger:energy\", \"conf:cost:attack\", \"conf:cost:frozen\", \"conf:cost:jump\", \"conf:cost:move\", \"conf:cost:rotate\", \"conf:cost:shield:upkeep\", \"conf:cost:shield\", \"conf:generator:cooldown\", \"conf:gift:energy\"], \"grid_features\": [\"agent\", \"altar\", \"charger\", \"generator\", \"wall\", \"agent:dir\", \"agent:energy\", \"agent:frozen\", \"agent:id\", \"agent:inv:1\", \"agent:inv:2\", \"agent:inv:3\", \"agent:shield\", \"agent:species\", \"altar:ready\", \"charger:bonus\", \"charger:input:1\", \"charger:input:2\", \"charger:input:3\", \"charger:output\", \"charger:ready\", \"generator:ready\", \"generator:resource\"], \"actions\": [\"rotate\", \"move\", \"jump\", \"use\", \"gift\", \"shield\", \"attack\"], \"max_action_value\": 10} --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.4", "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\", \"game_builder\": {\"_target_\": \"env.griddly.mettagrid.game_builder.MettaGridGameBuilder\", \"obs_width\": 11, \"obs_height\": 11, \"max_steps\": 1000, \"tile_size\": 16, \"width\": 40, \"height\": 40, \"objects\": {\"agent\": {\"count\": 20, \"initial_energy\": 100, \"max_energy\": 500, \"max_inventory\": 5, \"freeze_duration\": 10, \"hp\": 1, \"upkeep\": {\"shield\": 1}}, \"altar\": {\"hp\": 30, \"count\": 5, \"cooldown\": 2, \"cost\": 100}, \"converter\": {\"hp\": 30, \"count\": 10, \"cooldown\": 2, \"energy_output\": 50, \"cost\": 0}, \"generator\": {\"hp\": 30, \"count\": 50, \"cooldown\": 50, \"initial_resources\": 100, \"cost\": 0}, \"wall\": {\"density\": 0.01, \"hp\": 10}, \"charger\": {\"count\": 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}}}, \"global_features\": [\"conf:agent:energy:initial\", \"conf:agent:energy:max\", \"conf:altar:cooldown\", \"conf:altar:cost\", \"conf:attack:damage\", \"conf:attack:freeze_duration\", \"conf:charger:cooldown\", \"conf:charger:energy\", \"conf:cost:attack\", \"conf:cost:frozen\", \"conf:cost:jump\", \"conf:cost:move\", \"conf:cost:rotate\", \"conf:cost:shield:upkeep\", \"conf:cost:shield\", \"conf:generator:cooldown\", \"conf:gift:energy\"], \"grid_features\": [\"agent\", \"altar\", \"charger\", \"generator\", \"wall\", \"agent:dir\", \"agent:energy\", \"agent:frozen\", \"agent:id\", \"agent:inv:1\", \"agent:inv:2\", \"agent:inv:3\", \"agent:shield\", \"agent:species\", \"altar:ready\", \"charger:bonus\", \"charger:input:1\", \"charger:input:2\", \"charger:input:3\", \"charger:output\", \"charger:ready\", \"generator:ready\", \"generator:resource\"], \"actions\": [\"rotate\", \"move\", \"jump\", \"use\", \"gift\", \"shield\", \"attack\"], \"max_action_value\": 10}", "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": "7864b034e8faa45a8cef257cdd0b4d3b2b2549f3", "git_repo_name": "https://github.com/daveey/metta.git", "wandb_unique_id": "p2.metta.4_20240605_175031_058004" }