本文介绍了Google合作实验室中的openAI Gym NameError的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我刚刚在Google Colab上安装了openAI Gym,但是当我尝试以在这里解释.

I've just installed openAI gym on Google Colab, but when I try to run 'CartPole-v0' environment as explained here.

代码:

import gym
env = gym.make('CartPole-v0')
for i_episode in range(20):
    observation = env.reset()
    for t in range(100):
        env.render()
        print(observation)
        action = env.action_space.sample()
        observation, reward, done, info = env.step(action)
        if done:
            print("Episode finished after {} timesteps".format(t+1))
            break

我明白了:

WARN: gym.spaces.Box autodetected dtype as <class 'numpy.float32'>. Please provide explicit dtype.
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-19-a81cbed23ce4> in <module>()
      4     observation = env.reset()
      5     for t in range(100):
----> 6         env.render()
      7         print(observation)
      8         action = env.action_space.sample()

/content/gym/gym/core.py in render(self, mode)
    282
    283     def render(self, mode='human'):
--> 284         return self.env.render(mode)
    285
    286     def close(self):

/content/gym/gym/envs/classic_control/cartpole.py in render(self, mode)
    104
    105         if self.viewer is None:
--> 106             from gym.envs.classic_control import rendering
    107             self.viewer = rendering.Viewer(screen_width, screen_height)
    108             l,r,t,b = -cartwidth/2, cartwidth/2, cartheight/2, -cartheight/2

/content/gym/gym/envs/classic_control/rendering.py in <module>()
     21
     22 try:
---> 23     from pyglet.gl import *
     24 except ImportError as e:
     25     reraise(prefix="Error occured while running `from pyglet.gl import *`",suffix="HINT: make sure you have OpenGL install. On Ubuntu, you can run 'apt-get install python-opengl'. If you're running on a server, you may need a virtual frame buffer; something like this should work: 'xvfb-run -s \"-screen 0 1400x900x24\" python <your_script.py>'")

/usr/local/lib/python3.6/dist-packages/pyglet/gl/__init__.py in <module>()
    225     else:
    226         from .carbon import CarbonConfig as Config
--> 227 del base
    228
    229 # XXX remove

NameError: name 'base' is not defined

问题与有关openAI健身房中NameError的问题相同

什么都没有呈现.我不知道如何在Google colab中使用它:'xvfb-run -s \"-screen 0 1400x900x24\" python <your_script.py>'"

Nothing is being rendered. I don't know how I could use this in google colab: 'xvfb-run -s \"-screen 0 1400x900x24\" python <your_script.py>'"

推荐答案

健身房通常会在屏幕上使用GL渲染显示.

The Gym will normally render the display using GL, on your screen.

但是Colab作为笔记本电脑在网络上运行,无法直接显示在屏幕上.它只能通过HTML显示结果.

But Colab is run on the web as a notebook, it can’t display directly to your screen. It can only show the result through HTML.

如果有人修改Gym来操纵WebGL,也许有一天.但不是现在.

If someone modifies the Gym to maniplulate WebGL, maybe someday. But not now.

这篇关于Google合作实验室中的openAI Gym NameError的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-07 18:28