Mindket

getting-over-it-rl-jax

新上架第 1 版 · 更新于

概览

用一个在 JAX 物理模拟器里学会的小型策略网络,从头到尾通关游戏 Getting Over It。适合强化学习研究者和好奇的动手爱好者。

getting-over-it-rl-jax 是一款工具包,属于研究类,由 Mindket 上架。可免费获取。当前为第 1 版,最近更新于 。在本页下载,是一个装着它全部文件的 zip 压缩包。这些文件不会自己运行。

速览

你需要
  • 装有 pip 的 Python
  • numpy,用来运行那段简短的动作代码
  • jax-engine 分支上的代码仓库,加上游戏和 BepInEx 插件,用于真实游戏游玩
用在
  • 带 numpy 的 Python,用于从保存的权重算出动作
  • 作者的代码仓库,其中的 goi_jax.play 可以直接加载权重
  • 真实的游戏及其 BepInEx 插件,用于完整攀爬
先运行
pip install -U huggingface_hub
hf download zimmerk4/getting-over-it-rl-jax

平台

Windows操作系统
macOS操作系统
Linux操作系统

关于

它是什么

这个项目里有一个小型策略网络,能在一次攀爬中通关游戏 Getting Over It with Bennett Foddy,中途不存档也不读档。它只在游戏物理和规则的 JAX 复刻版里学习,然后通过 BepInEx 插件原封不动地去玩真实的游戏。

适合谁

适合想要一个“在快速模拟器里训练、再迁移到真实环境”的完整示例的强化学习研究者,也适合好奇机器人如何通关这款出了名的难游戏的人。

行业谁在用怎么用例子
AI 研究强化学习研究者用已发布的策略研究从模拟器到真实环境的迁移加载权重,通过插件玩真实的游戏
教育学生阅读 JAX 中紧凑的 GPU 训练配置看起点、奖励和逐段训练是怎么安排的
游戏 AI爱好者观看学出来的机器人攀爬高难度游戏把它的胜率和用时与自己的比较
软件JAX 开发者复用只靠 numpy 就能从保存的数组算出动作的办法在没有安装 JAX 的情况下运行策略

如果你想要通用的游戏智能体,可以跳过它,因为这些权重只为这一款游戏训练。

用在哪里

文件可以在装有 Python 的 Windows、macOS 或 Linux 上下载,策略在任何能运行 numpy 的地方都能用。

  • 带 numpy 的 Python,用于从保存的权重算出动作
  • 作者的代码仓库,其中的 goi_jax.play 可以直接加载权重
  • 真实的游戏及其 BepInEx 插件,用于完整攀爬
使用场景谁用得到什么
真实游戏游玩爱好者从底部到终点的一次攀爬,以及实测胜率
策略检查研究人员网络、归一化器和训练配置的普通数组
结果核对审阅者20 次攀爬评测背后的日志和报告文件

如何设置

你需要装有 pip 的 Python 来获取文件。玩真实的游戏还需要作者的代码仓库,以及装好的游戏和插件。

  • 装有 pip 的 Python
  • numpy,用来运行那段简短的动作代码
  • jax-engine 分支上的代码仓库,加上游戏和 BepInEx 插件,用于真实游戏游玩
  1. 安装 Hugging Face 下载工具并获取文件。
  2. 获取作者的代码仓库,并切换到它的 jax-engine 分支。
  3. 按该仓库的说明安装游戏和插件。
  4. 在该仓库里运行游玩命令。
pip install -U huggingface_hub
hf download zimmerk4/getting-over-it-rl-jax

如何使用

让游玩模块指向 policy.npz,它会直接加载网络。你也可以像第二个代码块那样,自己用 numpy 从保存的数组算出一个动作。

python -m goi_jax.play policy.npz --backend real --no-ends --steps 9000
import numpy as np
w = np.load("policy.npz")
x = np.clip((obs - w["obs_mean"]) / np.sqrt(w["obs_var"] + 1e-8), -10, 10)
h = np.tanh(np.tanh(x @ w["pi0_w"] + w["pi0_b"]) @ w["pi1_w"] + w["pi1_b"])
mean = np.tanh(h @ w["mu_w"] + w["mu_b"])
action = np.clip(mean + 0.5 * np.exp(w["log_std"]) * np.random.randn(2), -1, 1)   # play.py's default noise 0.5
mouse = action * 12.0
工具作用
policy.npz保存下来的网络,以及它的输入缩放和训练时所用的设置
config.json保存最终一次训练的配置
eval20 次计时攀爬背后的材料
media/jax-win.gif以两倍速展示一次 97 秒的通关攀爬
goi_jax.play加载 policy.npz 并玩游戏

示例

对真实游戏运行带 policy.npz 的游玩命令。网络从底部出发,用鼠标移动控制锤子,直到到达终点。在作者的 20 次计时攀爬中,它赢了 17 次,游玩时间的中位数是 1 分 55 秒。

新手与专家

策略网络是一个小程序,它查看游戏状态,然后选出下一个鼠标动作。这个网络是在游戏的快速副本里通过反复试错训练出来的,然后用在真实游戏上。第一个小尝试,是下载文件并读上面的 numpy 代码。

对熟悉这个领域的人来说,网络接收 105 个数字,描述玩家、前方地形和近期历史,并返回放大 12 倍的二维鼠标移动。策略网络和价值网络都是 256 乘 256 的 tanh 多层感知机。训练用的是 PureJaxRL 风格的 GPU 端 PPO,起点沿路线分布,也来自 Go-Explore。取舍在于保真度和速度:模型卡报告模拟器与真实游戏的录像一致,同时每秒约运行 45,000 到 50,000 步。

  1. 用 JAX 重新实现游戏物理
  2. 用 PPO 在大量并行游戏上训练
  3. 从每堵墙下方开始训练副本
  4. 把最终网络保存为 policy.npz
  5. 通过插件玩真实的游戏

注意事项

胜率来自作者自己的 20 次真实游戏攀爬,每次最多 5 分钟。

  • 并非每次都能通关:20 次中有 3 次触到 5 分钟上限,其中最高的一次在摔落前到达 413 米。
  • 安全加载:权重是普通数组,无需 pickle 就能加载。
  • 训练规模:最后一个副本跑了 2,512 次更新,它所有的前身加起来用了大约 13 亿个模拟步。
20 次真实游戏攀爬的结果
通关17 次
5 分钟内没通关3 次
  • License: MIT。
  • Cost to run: 除了游戏本身和它的 BepInEx 插件(真实游戏游玩需要)外,未提及其他。
  • Data it reaches: 下载包里的权重和日志,以及通过插件在你电脑上运行的游戏。
  • Not for: 其他游戏,因为模型卡只描述了针对这一款游戏的训练。

README 和文件

README

getting-over-it-rl-jax

用一个在 JAX 物理模拟器里学会的小型策略网络,从头到尾通关游戏 Getting Over It。适合强化学习研究者和好奇的动手爱好者。

由 zimmerk4 在 Hugging Face 上制作。这些说明是 Mindket 根据它的模型页面和模型卡写的,模型自己的文件和许可证在 Hugging Face 上。

简介

它是什么:这个项目里有一个小型策略网络,能在一次攀爬中通关游戏 Getting Over It with Bennett Foddy,中途不存档也不读档。它只在游戏物理和规则的 JAX 复刻版里学习,然后通过 BepInEx 插件原封不动地去玩真实的游戏。

适合谁:适合想要一个“在快速模拟器里训练、再迁移到真实环境”的完整示例的强化学习研究者,也适合好奇机器人如何通关这款出了名的难游戏的人。

行业 | 谁在用 | 怎么用 | 例子
AI 研究 | 强化学习研究者 | 用已发布的策略研究从模拟器到真实环境的迁移 | 加载权重,通过插件玩真实的游戏
教育 | 学生 | 阅读 JAX 中紧凑的 GPU 训练配置 | 看起点、奖励和逐段训练是怎么安排的
游戏 AI | 爱好者 | 观看学出来的机器人攀爬高难度游戏 | 把它的胜率和用时与自己的比较
软件 | JAX 开发者 | 复用只靠 numpy 就能从保存的数组算出动作的办法 | 在没有安装 JAX 的情况下运行策略

如果你想要通用的游戏智能体,可以跳过它,因为这些权重只为这一款游戏训练。

用在哪里:文件可以在装有 Python 的 Windows、macOS 或 Linux 上下载,策略在任何能运行 numpy 的地方都能用。

  • 带 numpy 的 Python,用于从保存的权重算出动作
  • 作者的代码仓库,其中的 goi_jax.play 可以直接加载权重
  • 真实的游戏及其 BepInEx 插件,用于完整攀爬
使用场景 | 谁用 | 得到什么
真实游戏游玩 | 爱好者 | 从底部到终点的一次攀爬,以及实测胜率
策略检查 | 研究人员 | 网络、归一化器和训练配置的普通数组
结果核对 | 审阅者 | 20 次攀爬评测背后的日志和报告文件

如何设置:你需要装有 pip 的 Python 来获取文件。玩真实的游戏还需要作者的代码仓库,以及装好的游戏和插件。

  • 装有 pip 的 Python
  • numpy,用来运行那段简短的动作代码
  • jax-engine 分支上的代码仓库,加上游戏和 BepInEx 插件,用于真实游戏游玩
  1. 安装 Hugging Face 下载工具并获取文件。
  2. 获取作者的代码仓库,并切换到它的 jax-engine 分支。
  3. 按该仓库的说明安装游戏和插件。
  4. 在该仓库里运行游玩命令。
pip install -U huggingface_hub
hf download zimmerk4/getting-over-it-rl-jax

如何使用:让游玩模块指向 policy.npz,它会直接加载网络。你也可以像第二个代码块那样,自己用 numpy 从保存的数组算出一个动作。

python -m goi_jax.play policy.npz --backend real --no-ends --steps 9000
import numpy as np
w = np.load("policy.npz")
x = np.clip((obs - w["obs_mean"]) / np.sqrt(w["obs_var"] + 1e-8), -10, 10)
h = np.tanh(np.tanh(x @ w["pi0_w"] + w["pi0_b"]) @ w["pi1_w"] + w["pi1_b"])
mean = np.tanh(h @ w["mu_w"] + w["mu_b"])
action = np.clip(mean + 0.5 * np.exp(w["log_std"]) * np.random.randn(2), -1, 1)   # play.py's default noise 0.5
mouse = action * 12.0
工具 | 作用
policy.npz | 保存下来的网络,以及它的输入缩放和训练时所用的设置
config.json | 保存最终一次训练的配置
eval | 20 次计时攀爬背后的材料
media/jax-win.gif | 以两倍速展示一次 97 秒的通关攀爬
goi_jax.play | 加载 policy.npz 并玩游戏

示例:对真实游戏运行带 policy.npz 的游玩命令。网络从底部出发,用鼠标移动控制锤子,直到到达终点。在作者的 20 次计时攀爬中,它赢了 17 次,游玩时间的中位数是 1 分 55 秒。

新手与专家:策略网络是一个小程序,它查看游戏状态,然后选出下一个鼠标动作。这个网络是在游戏的快速副本里通过反复试错训练出来的,然后用在真实游戏上。第一个小尝试,是下载文件并读上面的 numpy 代码。

对熟悉这个领域的人来说,网络接收 105 个数字,描述玩家、前方地形和近期历史,并返回放大 12 倍的二维鼠标移动。策略网络和价值网络都是 256 乘 256 的 tanh 多层感知机。训练用的是 PureJaxRL 风格的 GPU 端 PPO,起点沿路线分布,也来自 Go-Explore。取舍在于保真度和速度:模型卡报告模拟器与真实游戏的录像一致,同时每秒约运行 45,000 到 50,000 步。

用 JAX 重新实现游戏物理
用 PPO 在大量并行游戏上训练
从每堵墙下方开始训练副本
把最终网络保存为 policy.npz
通过插件玩真实的游戏

注意事项:胜率来自作者自己的 20 次真实游戏攀爬,每次最多 5 分钟。

  • 并非每次都能通关:20 次中有 3 次触到 5 分钟上限,其中最高的一次在摔落前到达 413 米。
  • 安全加载:权重是普通数组,无需 pickle 就能加载。
  • 训练规模:最后一个副本跑了 2,512 次更新,它所有的前身加起来用了大约 13 亿个模拟步。
Title: 20 次真实游戏攀爬的结果
通关: 17 次
5 分钟内没通关: 3 次
  • License: MIT。
  • Cost to run: 除了游戏本身和它的 BepInEx 插件(真实游戏游玩需要)外,未提及其他。
  • Data it reaches: 下载包里的权重和日志,以及通过插件在你电脑上运行的游戏。
  • Not for: 其他游戏,因为模型卡只描述了针对这一款游戏的训练。

Hugging Face 上的数据(2026年11月14日)

  • 任务:reinforcement learning
  • 框架:jax
  • 最近 30 天下载:87
  • 点赞:5
  • 许可证:mit
  • 标签:reinforcement-learning, sim-to-real, getting-over-it

链接

  • 模型:https://huggingface.co/zimmerk4/getting-over-it-rl-jax
  • 文件:https://huggingface.co/zimmerk4/getting-over-it-rl-jax/tree/main

获取模型

用 Hugging Face 的命令行下载它的文件:

pip install -U huggingface_hub
hf download zimmerk4/getting-over-it-rl-jax

然后按它的模型卡使用它。这个工具包里没有会自己运行的东西。

文件
README.md  6 KB

1 个文件,共 6 KB,以 zip 压缩包下载。

更新内容

  • 第 1 版 · 2026-11-13

评价

还没有评分

写评价

还没有评价。

Mindket 的更多商品

查看 Mindket 的全部商品

Bonsai-27B-GGUF

lmstudio-community · 工具包

面向 LM Studio 的 27B Bonsai 模型 GGUF 转换版,含 3.80 GB 的 Q1_0 语言文件和 0.93 GB 的 BF16 视觉投影器。已测试文本、视觉和并行工具调用。

新上架

以每权重 2.9 位的 EXL3 量化运行 DeepSeek-V4.1-Flash-1017,这是一份 196 GiB 的副本,适合在自己硬件上部署大模型的人。困惑度与原模型相差不大。

新上架

MusicGen Small

facebook · 工具包

根据文字描述或音频提示生成短音乐片段,是 facebook MusicGen 的 small 检查点。适合想在自己电脑上试用文字生成音乐的开发者和音乐爱好者。

新上架

研究类的相似商品

查看研究类的全部商品

Merlin-Cancer-Super

AbdomenAtlas · 工具包

在 CT 扫描上检测并勾画 9 个器官的肿瘤,使用从放射学报告中学习的 R-Super 方法训练。这是面向医学影像团队的研究模型,采用非商业许可。

新上架

EarthJev

dBenf · 工具包

回答关于卫星图像块的类型化问题,使用 Sentinel-2 的全部 12 个波段,为每个选项返回概率,不生成文字。这是 Qwen3.5-0.8B 的微调版本,适合地球观测研究者。

新上架

ReFoCo

yuji-nozawa · 工具包

一篇研究论文的三种规模的预训练视觉 Transformer 检查点,论文研究如何训练注意力头去关注图像区域。适合提取图像特征和复现论文的研究人员。

新上架