|
--- |
|
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 |
|
|