Игрок SSBM на основе глубокого обучения с подкреплением.
ПРИМЕЧАНИЕ. Этот проект больше не активен и может быть поврежден. Существует проект-преемник, основанный на имитационном обучении на повторах Slippi, на https://github.com/vladfi1/slippi-ai.
Протестировано на: Ubuntu>=14.04, OSX, Windows 7/8/10.
pip install -e .
.agents
. Полный набор обученных агентов доступен здесь. Вам нужно будет знать, где находится дельфин. На Mac путь дельфина будет /Applications/Dolphin.app/Contents/MacOS/Dolphin
. Если dolphin-emu
уже находится в вашем PATH
, вы можете пропустить это.
python3 phillip/run.py --gui --human --start 0 --reload 0 --epsilon 0 --load agents/FalconFalconBF --iso /path/to/SSBM.iso --exe /path/to/dolphin [--windows]
Обученные агенты хранятся в каталоге agents
. Помимо FalconFalconBF
, агенты в agents/delay0/
также довольно сильны. Запустите с --help
чтобы увидеть все варианты. Лучший человекоподобный агент — это delay18/FalcoBF
, доступный в zip-архиве Google Диска.
--exe
будет путем к распакованному вами файлу Binaryx64Dolphin.exe
. В общем, для всех путей вперед /
s должен быть back
s, если только вы не используете MinGW, Cygwin, git bash или какой-либо другой эмулятор оболочки unix.3
в таких командах, как python3
и pip3
.--tcp 1
(теперь подразумеваемый --windows
). Вам также может потребоваться открыть порт 5555 в брандмауэре.--user tmp
(временные каталоги, которые создает Python, начинаются с /tmp/...
и недействительны для Windows Dolphin). Обучение контролируется phillip/train.py
. См. также runner.py
и launcher.py
для массового параллельного обучения на кластерах slurm. Филипп прошел обучение в MGHPCC. Рекомендуется тренироваться с собственным дельфином, который использует zmq для синхронизации с ИИ — в противном случае приведенные ниже команды, скорее всего, не будут работать.
Также возможно местное обучение. Сначала отредактируйте runner.py
, указав желаемые параметры тренировки (дополнительно). Затем выполните:
python3 runner.py # will output a path
python3 launcher.py saves/path/ --init --local [--agents number_of_agents] [--log_agents]
Чтобы просмотреть статистику во время тренировки:
tensorboard --logdir logs/
Тренер и (необязательно) агенты перенаправляют свой стандартный вывод/err на slurm_logs/
. Чтобы завершить обучение:
kill $(cat saves/path/pids)
Чтобы возобновить обучение, снова запустите launcher.py
, но опустите --init
(это перезапишет вашу старую сеть).
Обучение в Windows не поддерживается.
Благодаря microsoftv теперь есть и обучающее видео!
Заходите в Дискорд!
Я транслировал тренировку на http://twitch.tv/x_pilot. Также на моем канале YouTube есть несколько записей.
Большое спасибо altf4 за то, что помогли мне начать, и spxtr за средство наблюдения за памятью Python. Некоторый код для взаимодействия с дельфинами был заимствован из обоих проектов (в основном из последнего, когда я перешел на чистый Python).