导入错误: 无法从'gym.envs.classic_control'导入'rendering'



我正在与RL代理合作,并试图复制本文的发现,其中他们基于Gym开放AI制作自定义跑酷环境,然而当我试图渲染这个环境时,我遇到了。

import numpy as np
import time
import gym
import TeachMyAgent.environments
env = gym.make('parametric-continuous-parkour-v0', agent_body_type='fish', movable_creepers=True)
env.set_environment(input_vector=np.zeros(3), water_level = 0.1)
env.reset()
while True:
_, _, d, _ = env.step(env.action_space.sample())
env.render(mode='human')
time.sleep(0.1)
c:usersmanu dwivediteachmyagentTeachMyAgentenvironmentsenvsparametric_continuous_parkour.py in render(self, mode, draw_lidars)
462 
463     def render(self, mode='human', draw_lidars=True):
--> 464         from gym.envs.classic_control import rendering
465         if self.viewer is None:
466             self.viewer = rendering.Viewer(RENDERING_VIEWER_W, RENDERING_VIEWER_H)
ImportError: cannot import name 'rendering' from 'gym.envs.classic_control' (C:ProgramDataAnaconda3envsteachagentlibsite-packagesgymenvsclassic_control__init__.py)
[1]: https://github.com/flowersteam/TeachMyAgent

我认为这可能是这个自定义环境的问题,以及作者如何决定渲染它,然而,当我尝试只是

from gym.envs.classic_control import rendering

我遇到了同样的错误,github用户在这里建议这可以通过在调用gym.make()渲染时添加rendor_mode='human'来解决,但这似乎只适用于他们的特定情况。

我(在一个同学的帮助下)通过将gym包降级到0.21.0来工作。执行pip install gym==0.21.0命令。

更新,来自Github issue:

基于https://github.com/openai/gym/issues/2779

这应该是gymgrid的问题,有一个开放的PR: wsgdrfz/gymgrid#1如果你想使用gym的最新版本,你可以尝试使用该PR的分支(https://github.com/CedricHermansBIT/gymgrid2);你可以用pip install gymgrid2

安装它

相关内容

  • 没有找到相关文章

最新更新