--- library_name: ml-agents tags: - SoccerTwos - deep-reinforcement-learning - reinforcement-learning - ML-Agents-SoccerTwos --- # 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:** ```bash git clone --depth 1 https://github.com/Unity-Technologies/ml-agents 2. **Instala los paquetes necesarios:** Dirígete a la carpeta clonada y ejecuta: ```bash 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:** ```bash mkdir -p ./train-soccer 2. **Descarga el entorno SoccerTwos:** Utiliza el siguiente script para descargar el archivo .zip del entorno y extraerlo: ```bash 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 3. **Cambia los permisos del archivo extraído:** ```bash 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