深層強化学習に基づく 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
を指定して実行すると、すべてのオプションが表示されます。最も人間に似たエージェントは、Google ドライブの zip で入手できるdelay18/FalcoBF
です。
--exe
、解凍したBinaryx64Dolphin.exe
へのパスになります。一般に、MinGW、Cygwin、git bash、またはその他の Unix シェル エミュレータを使用している場合を除き、すべてのパスで forward /
s は back
s である必要があります。python3
やpip3
などのコマンドから3
省略する必要がある場合があります。--tcp 1
フラグ (現在は--windows
で暗示されています) で有効化されたローカル ループバック インターフェイス経由で行われます。ファイアウォールでポート 5555 を開く必要がある場合もあります。--user tmp
使用して明示的なユーザー ディレクトリを渡す必要があります (Python が作成する一時ディレクトリは/tmp/...
で始まり、Windows dolphin では無効です)。 トレーニングはphillip/train.py
によって制御されます。 slurm クラスターでの大規模並列トレーニングについては、 runner.py
とlauncher.py
も参照してください。フィリップは 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 と、Python メモリ ウォッチャーの spxtr に感謝します。ドルフィン インタラクションのコードの一部は両方のプロジェクトから借用しました (純粋な Python に切り替えたので、主に後者です)。