ML-Agents SoccerTwos Training

Este repositorio contiene los pasos necesarios para entrenar un agente en el entorno SoccerTwos utilizando Unity ML-Agents.

Requisitos

  • Python 3.7 o superior
  • Unity ML-Agents
  • TensorFlow
  • Acceso al entorno SoccerTwos (archivo .zip descargable)

Instalaci贸n

  1. Clona el repositorio de ML-Agents:

    git clone --depth 1 https://github.com/Unity-Technologies/ml-agents
    
  2. Instala los paquetes necesarios:

    Dir铆gete a la carpeta clonada y ejecuta:

    cd ml-agents
    pip3 install -e ./ml-agents-envs
    pip3 install -e ./ml-agents
    

Configuraci贸n del entorno de entrenamiento

  1. Crea la carpeta para el entrenamiento:

    mkdir -p ./train-soccer
    
  2. Descarga el entorno SoccerTwos:

    Utiliza el siguiente script para descargar el archivo .zip del entorno y extraerlo:

    import gdown
    file_id = '1KuqBKYiXiICU4kNMqEzhgyuPF5_45CL'
    gdown.download(f'https://drive.google.com/uc?export=download&id={file_id}', './train-soccer/SoccerTwos.zip', quiet=False)
    

Extrae el archivo:

  unzip -d ./train-soccer ./train-soccer/SoccerTwos.zip
  1. Cambia los permisos del archivo extra铆do:

    chmod -R 755 ./train-soccer/SoccerTwos/SoccerTwos.x86_64
    

Configuraci贸n de par谩metros de entrenamiento

Crea un archivo YAML con los par谩metros de entrenamiento. Un ejemplo es el siguiente:

behaviors:
  SoccerTwos:
    trainer_type: poca
    hyperparameters:
      batch_size: 4096
      buffer_size: 40960
      learning_rate: 0.0002
      beta: 0.01
      epsilon: 0.15
      lambd: 0.92
      num_epoch: 5
      learning_rate_schedule: linear
    network_settings:
      normalize: true
      hidden_units: 1024
      num_layers: 3
      vis_encode_type: simple
    reward_signals:
      extrinsic:
        gamma: 0.995
        strength: 1.0
    keep_checkpoints: 10
    max_steps: 1000000
    time_horizon: 1200
    summary_freq: 5000
    self_play:
      save_steps: 50000
      team_change: 300000
      swap_steps: 3000
      play_against_latest_model_ratio: 0.6
      initial_elo: 1200.0

Y guardarlo en la carpeta 'train-soccer'

with open('./train-soccer/SoccerTwos.yaml', 'w') as file:
  file.write(yaml_content)

Entrenamiento del agente

Inicia el entrenamiento con el siguiente comando:

mlagents-learn ./train-soccer/SoccerTwos.yaml --env=./train-soccer/SoccerTwos/SoccerTwos.x86_64 --run-id="SoccerTwosNew" --no-graphics --force
Downloads last month
39
Video Preview
loading