You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用OpenAI Gym玩CartPole-v1时按键映射正确但游戏持续重启怎么办?

解决CartPole-v1人类游玩模式启动即重启的问题

可能的原因及修复方案

1. 动作格式错误

你当前的keys_to_action使用了元组格式(0,)和(1,),但CartPole-v1的动作是单个整数(0代表左移,1代表右移),play函数期望直接传入整数动作而非元组。修改映射为:

import gym
from gym.utils.play import play
play(gym.make("CartPole-v1"), keys_to_action={"a":0, "d":1}, zoom=1)

2. Gym版本兼容性问题

如果使用的是0.26及以上版本的Gym,原OpenAI Gym已迁移到Gymnasium库,且play函数的调用方式有变化。先安装依赖:

pip install gymnasium[classic-control]

再修改代码(必须指定render_mode="human"才能正常渲染交互窗口):

import gymnasium as gym
from gymnasium.utils.play import play
play(gym.make("CartPole-v1", render_mode="human"), keys_to_action={"a":0, "d":1}, zoom=1)

3. 初始状态触发自动重置

如果上述方法无效,可能是初始帧就触发了环境终止条件(比如杆子初始倾斜角度达标),可以添加noop_action参数指定无操作时的默认动作:

play(gym.make("CartPole-v1"), keys_to_action={"a":0, "d":1}, zoom=1, noop_action=0)

内容的提问来源于stack exchange,提问作者Issa AlBawwab

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 00:32:03