Футбол Исследований Google

МЕНЮ


Искусственный интеллект
Поиск
Регистрация на сайте
Помощь проекту

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


2020-10-11 21:06

разработка по

Этот репозиторий содержит среду RL, основанную на игровом процессе с открытым исходным кодом Футбол.
Он был создан командой Google Brain для исследовательских целей.

Полезные ссылки:

Для непубличных вопросов, которые вы хотели бы обсудить непосредственно с командой GRF, пожалуйста используйте google-research-football@google.com.

Мы хотели бы поблагодарить Бастиана Конингса Шуйлинга, который является автором и открытым исходным кодом оригинальной версии этой игры.

быстрый старт

В Колабе

Откройте наш пример Colab, который позволит вам начать обучение вашей модели менее чем за 2 минуты.

Этот метод не поддерживает рендеринг игры на экране - если вы хотите увидеть запущенную игру, пожалуйста, используйте приведенный ниже метод.

Использование Docker

Это рекомендуемый способ избежать несовместимых версий пакетов. Инструкции доступны здесь.

На вашем компьютере

1. Установите необходимые пакеты

Линукс

sudo apt-get install git cmake build-essential libgl1-mesa-dev libsdl2-dev  libsdl2-image-dev libsdl2-ttf-dev libsdl2-gfx-dev libboost-all-dev  libdirectfb-dev libst-dev mesa-utils xvfb x11vnc libsdl-sge-dev python3-pip 

Mac OS X

Сначала установите заварку. Он должен автоматически устанавливать инструменты командной строки. Далее установите необходимые пакеты:

brew install git python3 cmake sdl2 sdl2_image sdl2_ttf sdl2_gfx boost boost-python3 

Для настройки pygameТакже требуется установить более старые версии SDL:

brew install sdl sdl_image sdl_mixer sdl_ttf portmidi 

2a. из пакета PyPi

pip3 install gfootball 

2b. установка из исходных текстов с использованием репозитория GitHub

git clone https://github.com/google-research/football.git cd football 

При желании вы можете использовать виртуальную среду:

python3 -m venv football-env source football-env/bin/activate 

Последний шаг-это создание окружающей среды:

pip3 install . 

Эта команда может выполняться в течение нескольких минут, так как она компилирует среду C++ в фоновом режиме.

3. Пора играть!

python3 -m gfootball.play_game --action_set=full 

Обязательно ознакомьтесь с отображениями клавиатуры. Чтобы выйти из игры, нажмите Ctrl+C в терминале.

Обучение агентов игре GRF

Тренировка бега

Чтобы запустить обучение TF, установите дополнительные зависимости (или альтернативно используйте предоставленное изображение Docker):

  • Обновите PIP, чтобы tensorflow 1.15 был доступен: python3 -m pip install --upgrade pip setuptools
  • Тензорный поток: pip3 install tensorflow==1.15.*или pip3 install tensorflow-gpu==1.15.*, в зависимости от того, хотите ли вы процессор или Версия GPU;
  • Сонет: pip3 install dm-sonnet==1.*;
  • Базовые Линии OpenAI: pip3 install git+https://github.com/openai/baselines.git@master.

Затем:

  • Чтобы запустить пример PPO-эксперимента по academy_empty_goalсценарию, выполните python3 -m gfootball.examples.run_ppo2 --level=academy_empty_goal_close
  • Чтобы запустить academy_pass_and_shoot_with_keeperсценарий, выполните python3 -m gfootball.examples.run_ppo2 --level=academy_pass_and_shoot_with_keeper

Чтобы тренироваться с сохранением хороших повторов, бегите python3 -m gfootball.examples.run_ppo2 --dump_full_episodes=True --render=True

Для того чтобы воспроизвести результаты PPO из статьи, пожалуйста, обратитесь к:

  • gfootball/examples/repro_checkpoint_easy.sh
  • gfootball/examples/repro_scoring_easy.sh

Играем в эту игру

Обратите внимание, что игра осуществляется через среду, поэтому игроки, управляемые человеком, используют тот же интерфейс, что и агенты. Одним из важных следствий является то, что существует одно действие на 100 мс, сообщаемое окружающей среде, которое может вызвать эффект задержки при воспроизведении.

Сопоставления клавиатуры

Игра определяет следующее отображение клавиатуры (для keyboardтипа игрока):

  • ARROW UP - беги наверх.
  • ARROW DOWN - беги на дно.
  • ARROW LEFT - беги налево.
  • ARROW RIGHT - беги направо.
  • S - короткий пас в режиме атаки, давление в режиме обороны.
  • A - высокий проход в режиме атаки, скольжение в режиме защиты.
  • D - выстрел в режиме атаки, давление команды в режиме обороны.
  • W - длинный пас в режиме атаки, давление вратаря в режиме обороны.
  • Q - переключите активного игрока в режим защиты.
  • C - дриблинг в режиме атаки.
  • E - спринт.

Играть против встроенного искусственного интеллекта

Беги python3 -m gfootball.play_game --action_set=full. По умолчанию он запускается базовый сценарий и левый игрок управляются с помощью клавиатуры. Различный поддерживаются типы игроков (геймпад, внешние боты, агенты...). Для возможного параметры запущены python3 -m gfootball.play_game -helpfull.

Играть против предварительно обученного агента

В частности, можно играть против агента, обученного run_ppo2сценарию с помощью следующая команда (обратите внимание, что флаг action_set отсутствует, так как агент PPO использует значение по умолчанию набор действий): python3 -m gfootball.play_game --players "keyboard:left_players=1;ppo2_cnn:right_players=1,checkpoint=$YOUR_PATH"

Обученные контрольно-пропускные пункты

Мы предоставляем обученные контрольные точки PPO для следующих сценариев:

Чтобы увидеть, как играют контрольные точки, бегите python3 -m gfootball.play_game --players "ppo2_cnn:left_players=1,policy=gfootball_impala_cnn,checkpoint=$CHECKPOINT" --level=$LEVEL, где $CHECKPOINTнаходится путь к загруженной контрольной точке.

Чтобы тренироваться против контрольной точки, вы можете передать аргумент 'extra_players' в функцию create_environment. Например, extra_players= 'ppo2_cnn:right_players=1, policy=gfootball_impala_cnn, checkpoint=$CHECKPOINT'.

Частые Проблемы И Решения

Рендеринг вне экрана (на сервере без дисплея / без графического процессора)

Можно сделать программный рендеринг с помощью MESA. Для этого, прежде чем начать среда, в которой необходимо создать виртуальный дисплей (при условии, что вы используете разрешение по умолчанию):

Xvfb :1 -screen 0 1280x720x24+32 -fbdir /var/tmp & export DISPLAY=:1 

Обратите внимание, что рендеринг программного обеспечения значительно увеличивает загрузку процессора и работает медленно.


Источник: github.com

Комментарии: