正在自动登录…
← 返回项目列表LYiHub/
LYiHub/ pub-street-fighter-ai
基于深度强化学习训练《街头霸王 2》AI 模型的项目,提供训练和测试代码,可复现训练或观看 AI 对战表现。
AI 中文解读 · 根据仓库描述与 README 生成 · 2026/10/14 17:36:02 · 查看原文
- 累计 Stars
- 211
- 当前热度
- 未达当前门槛
- 仓库创建时间
选用指南
AI 根据 README 整理 · 2026/10/14 17:36:02
- 使用方式
通过命令行运行测试和训练,支持参数调整。
查看 README 依据
Windows PowerShell 中使用 `$env:SF2_ROM_PATH = "C:\path\to\your\rom.md"`。也可以将 ROM 放在项目的 `data/street-fighter-ii-special-champion-edition-usa.md` 路径下。训练和测试程序会自动导入 ROM;如果当前 Python 环境的 Stable-Retro 已导入该 ROM,可以直接使用。 `data/` 中的 12 个 `.state` 文件保存了各关卡的开局状态,两个 `.json` 文件定义了游戏内存变量和场景配置。程序会直接读取这些文件,无需手动复制到 Stable-Retro 的安装目录。至此,环境配置准备工作完成。 ### 运行测试 环境配置完成后,可以运行 `main/test.py`,实际体验智能代理的对战表现: ```bash python -m main.test --episodes 1 ``` 默认测试会依次加载第 1~12 关的开局存档,每关采用三局两胜。`--episodes 1` 表示完整测试一轮全部 12 关对战;省略该参数时,默认测试 10 轮。某关失败后仍会继续测试后面的关卡,终端会输出每关的胜负、奖励、关卡胜率,以及十二关全部获胜的比例。 如果只关心测试结果、不需要观看对局,可以关闭游戏画面:
| `--device auto/cpu/cuda/mps` | 选择模型推理设备 | `auto` | | `--speed N` | 通过减少显示帧数加快可视化 | `4` | ### 训练模型 如果想要训练自己的模型,可以运行 `main/train.py`。建议先使用每关一个模拟器的配置,根据机器资源调整训练规模: ```bash python -m main.train --envs-per-level 1 --batch-size 256 --log-dir runs/ryu ``` 直接运行 `python -m main.train` 时,默认每关使用 64 个模拟器,共 768 个;一次更新收集 98,304 个样本,总训练目标为 7 亿步。这一配置需要充足的 CPU 和内存,应根据实际硬件调整。 常用训练参数如下: | 参数 | 作用 | 默认值 | | --- | --- | --- | | `--envs-per-level N` | 指定每关的并行环境数量 | 未指定时每关 64 个 | | `--total-timesteps N` | 本次训练的总步数;续训时为追加步数 | `700000000` | | `--n-steps N` | 每个模拟器一次更新前的采样步数 | `128` |
- 部署要求
需要 Python 3.10 环境,以及《街头霸王 2:冠军特别版》美版 ROM 文件,需自行获取。
查看 README 依据
游戏配置文件存储在 `data/` 文件夹下;项目的主要代码文件夹为 `main/`。`logs/` 中包含了训练过程的数据曲线,`logs/trained_models/` 中包含了模型权重文件,可以用于在 `test.py` 中运行测试,观看 AI 模型学习到的对战策略。 ## 运行指南 本项目基于 Python 编程语言,主要使用了 [Gymnasium](https://gymnasium.farama.org/)、[Stable-Retro](https://github.com/Farama-Foundation/stable-retro)、[Stable-Baselines3](https://stable-baselines3.readthedocs.io/) 等开源代码库。建议使用 Python 3.10 配置环境;当前版本已在 macOS / Apple Silicon / Python 3.10.20 环境中验证 CPU 和 Apple MPS 路径。以下为控制台/终端指令,均从项目根目录执行。 ### 环境配置 ```bash # 创建 Python 虚拟环境并安装依赖 python3.10 -m venv .venv source .venv/bin/activate
python -m pip install -r requirements.txt ``` 也可以使用 [Anaconda](https://www.anaconda.com/) 创建 Python 3.10 环境,再安装 `requirements.txt` 中的依赖。Windows 使用虚拟环境时,激活命令为 `.venv\Scripts\activate`;其他平台的安装要求请参考 Stable-Retro 和 PyTorch 的官方说明。 运行程序还需要《街头霸王·二:冠军特别版》美版的游戏 ROM 文件(可以理解为游戏程序本身)。Stable-Retro 不提供游戏 ROM,本项目也不包含该文件,需要自行通过合法途径获得。准备好支持的 ROM 后,通过环境变量指定其绝对路径: ```bash export SF2_ROM_PATH="/absolute/path/to/your/rom.md" ```
- 已知限制
默认训练配置需要大量 CPU 和内存,需根据硬件调整。
查看 README 依据
| `--device auto/cpu/cuda/mps` | 选择模型推理设备 | `auto` | | `--speed N` | 通过减少显示帧数加快可视化 | `4` | ### 训练模型 如果想要训练自己的模型,可以运行 `main/train.py`。建议先使用每关一个模拟器的配置,根据机器资源调整训练规模: ```bash python -m main.train --envs-per-level 1 --batch-size 256 --log-dir runs/ryu ``` 直接运行 `python -m main.train` 时,默认每关使用 64 个模拟器,共 768 个;一次更新收集 98,304 个样本,总训练目标为 7 亿步。这一配置需要充足的 CPU 和内存,应根据实际硬件调整。 常用训练参数如下: | 参数 | 作用 | 默认值 | | --- | --- | --- | | `--envs-per-level N` | 指定每关的并行环境数量 | 未指定时每关 64 个 | | `--total-timesteps N` | 本次训练的总步数;续训时为追加步数 | `700000000` | | `--n-steps N` | 每个模拟器一次更新前的采样步数 | `128` |
README
正在加载 README…
收录信息
- 仓库创建时间
- 2026/10/10 19:15:59
- 首次达标收录
- 2026/10/11 11:47:13
- 统计更新时间
- 2026/10/22 19:05:58
按创建时长与累计 Stars 判断等级。首次达标收录后,即使未达当前门槛仍保留;累计 Stars 和仓库状态会定期更新。确认只有 README 及辅助文件的仓库会停止公开。
模型评估
普通加权总分 3.2 / 5
由 Jev 模型根据仓库描述与 README 评估,2026/10/11 11:59:41 生成。评分仅供参考,不是代码、安全或许可证审查;热度等级另按创建时长与累计 Stars 计算。
仓库信息
- 最近推送
- 2026/10/10 19:16:23
- 许可证标识
- Apache-2.0
- Fork 数
- 47
- 当前状态
- 未归档
收录记录
按创建时长与累计 Stars 首次收录:小火
首次发现项目