Street Fighter AI 项目常见问题解决方案
1. 项目基础介绍和主要编程语言
该项目是一个基于深度强化学习训练的AI代理,目的是在游戏《Street Fighter II: Special Champion Edition》中击败最终boss。AI代理通过游戏屏幕的RGB像素值来进行决策。在提供的保存状态下,该代理在最终关卡的第一轮拥有100%的胜率(存在过拟合情况,详见测试运行部分)。
主要编程语言
- 项目主要基于Python编程语言,并且主要使用了OpenAI Gym Retro和Stable-Baselines3这样的标准库。
2. 新手使用该项目需要特别注意的3个问题及解决步骤
问题一:环境搭建
详细步骤:
- 创建名为StreetFighterAI的conda环境,并指定Python版本为3.8.10:
conda create -n StreetFighterAI python=3.8.10
- 激活创建的环境:
conda activate StreetFighterAI
- 安装项目所需的Python库:
cd [项目的父目录]/street-fighter-ai/main pip install -r requirements.txt
- 运行脚本以定位gym-retro游戏文件夹:
将在控制台输出的文件夹路径复制到文件资源管理器,并导航到相应的路径。该文件夹包含"Street Fighter II: Special Champion Edition"的游戏数据文件,包括游戏ROM文件和数据配置文件。cd python/utils python print_game_lib_folder.py
问题二:如何运行测试
详细步骤:
- 确保你已经按照上述环境搭建的步骤配置好了Python环境和安装了必要的库。
- 运行main文件夹中的
run.py
文件来开始测试:
这将会运行AI并进行游戏,观察其在不同训练阶段所学策略的表现。python run.py
问题三:如何观察训练过程
详细步骤:
- 运行
run.py
开始AI训练。 - 在控制台输出的路径中,找到
main/logs
文件夹。 - 使用Tensorboard查看训练过程中的终端/控制台输出和数据曲线,可以通过以下命令启动Tensorboard:
这样你就可以看到AI在训练过程中的性能变化和状态。tensorboard --logdir=main/logs
确保在开始以上操作前,你已经根据项目的运行指南正确设置了Python环境,并安装了所有必需的依赖项。这样可以避免在使用该项目时遇到不必要的问题。