심층 강화 학습을 기반으로 하는 SSBM 플레이어입니다.
참고: 이 프로젝트는 더 이상 활성화되지 않으며 비트 로트(bit-rot)될 수 있습니다. 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 Drive zip에서 사용할 수 있는 delay18/FalcoBF
입니다.
--exe
압축을 푼 Binaryx64Dolphin.exe
의 경로입니다. 일반적으로 MinGW, Cygwin, git bash 또는 기타 유닉스 쉘 에뮬레이터를 사용하지 않는 한 모든 경로에 대해 정방향 /
s는 역방향
s여야 합니다.python3
및 pip3
과 같은 명령에서는 3
을 생략해야 할 수도 있습니다.--tcp 1
플래그(현재 --windows
에 의해 암시됨)로 활성화된 로컬 루프백 인터페이스를 통해 수행됩니다. 방화벽에서 포트 5555를 열어야 할 수도 있습니다.--user tmp
사용하여 명시적인 사용자 디렉터리를 전달해야 합니다(Python이 생성하는 임시 디렉터리는 /tmp/...
로 시작하며 Windows Dolphin에는 유효하지 않습니다). 훈련은 phillip/train.py
에 의해 제어됩니다. Slurm 클러스터에서 대규모 병렬 학습을 수행하려면 runner.py
및 launcher.py
도 참조하세요. Phillip는 MGHPCC에서 교육을 받았습니다. AI와 동기화하기 위해 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/
트레이너와 (선택적으로) 에이전트는 stdout/err을 slurm_logs/
로 리디렉션합니다. 훈련을 종료하려면:
kill $(cat saves/path/pids)
훈련을 다시 시작하려면 launcher.py
다시 실행하세요. 단, --init
를 생략하세요(이전 네트워크를 덮어쓰게 됩니다).
Windows에서의 교육은 지원되지 않습니다.
microsoftv 덕분에 이제 교육용 비디오도 있습니다!
디스코드로 오세요!
저는 http://twitch.tv/x_pilot에서 연습 플레이를 스트리밍하고 있습니다. 제 유튜브 채널에도 녹음된 내용이 있습니다.
시작하게 해준 altf4와 Python 메모리 감시자를 제공해 준 spxtr에게 큰 감사를 드립니다. 돌고래 상호작용을 위한 일부 코드는 두 프로젝트에서 차용되었습니다(대부분 후자에서 순수 Python으로 전환했습니다).