exp_prefix: self_play
env_config:
  lib: expground.envs.grf
  env_id: GRF
  params:
    level: 5_vs_5  # 11_vs_11_stochastic
    n_right_agents: 5
    n_left_agents: 5
    render: False

learner_config:
  type: sp
  params:
    seed: 1
    episodic_training: False
    train_every: 128
    learning_mode: on_policy
    ray_mode: True
    evaluation_worker_num: 0
    multi_to_single: True  # environment should specify groups
    use_cuda: True
    single_population: True
    resource_limit:
      GPU: 0.4
      CPU: 10
  stop_conditions:
    max_iteration: 100
  inner_stop_conditions:
    max_episode: 1000

# ============ copy from dqn yaml ===============
rollout_config:
  type: simultaneous
  fragment_length: 30000  # maximum time steps of one batched data, should lower than total_timesteps
  max_step: 3000  # for simulation
  num_simulation: 2
  vector_mode: True
  max_episode: 10

training_config:
  batch_size: 1280
  gamma: 0.993
  ent_coef: 0.01
  learning_rate: 0.00008

sampler_config:
  sampler_type: simple
  params:
    capacity: 150000
    learning_starts: 3000
    clip_param: 0.27
    grad_norm_clipping: 0.5

algorithm:
  name: VPPO
  policy: ppo.VPPO
  trainer: ppo.PPOTrainer
  loss: ppo.PPOLoss

model_config:
  network: cnn

custom_config:
  use_cuda: True  # active for only training agents
  preprocess_mode: stack
