基于深度强化学习的 SSBM 播放器。
注意:该项目不再活跃,并且可能会发生位腐烂。 https://github.com/vladfi1/slippi-ai 有一个基于 slippi 回放模仿学习的后续项目。
测试环境: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
,可以在Google Drive zip 中找到。
--exe
将是您解压缩的Binaryx64Dolphin.exe
的路径。一般来说,所有路径的forward /
s 都应该是back
s,除非您使用的是MinGW、Cygwin、git bash 或其他一些unix shell 模拟器。python3
和pip3
等命令中省略3
。--tcp 1
标志启用(现在由--windows
暗示)。您可能还需要在防火墙中打开端口 5555。--user tmp
传递显式用户目录(python 创建的临时目录以/tmp/...
开头,对 windows dolphin 无效)。 训练由phillip/train.py
控制。另请参阅runner.py
和launcher.py
在 slurm 集群上进行大规模并行训练。菲利普曾在 MGHPCC 接受过培训。建议使用自定义海豚进行训练,该海豚使用 zmq 与 AI 同步 - 否则以下命令可能会失败。
也可以进行本地培训。首先,使用所需的训练参数编辑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/
培训师和(可选)代理将其 stdout/err 重定向到slurm_logs/
。结束训练:
kill $(cat saves/path/pids)
要恢复训练,请再次运行launcher.py
,但省略--init
(它将覆盖您的旧网络)。
不支持在 Windows 上进行培训。
感谢 microsoftv,现在还有一个教学视频!
来不和谐吧!
我一直在 http://twitch.tv/x_pilot 上直播练习赛。我的 YouTube 频道上也有一些录音。
非常感谢 altf4 让我入门,并感谢 spxtr 提供的 python 内存观察器。海豚交互的一些代码是从这两个项目借用的(现在我已经切换到纯Python,主要是后者)。