标签: openai-gym

OpenAI 健身房:如何在 CartPole-v0 中获取像素

我想在CartPole-v0不打开渲染窗口的情况下访问 OpenAI 健身房环境中的原始像素。我该怎么做呢?

示例代码:

import gym
env = gym.make("CartPole-v0")
env.reset()
img = env.render(mode='rgb_array', close=True) # Returns None
print(img)
img = env.render(mode='rgb_array', close=False) 
          # Opens annoying window, but gives me the array that I want
print(img.shape)
Run Code Online (Sandbox Code Playgroud)

附注。我很难为 OpenAI 健身房找到好的文档。它只是我,还是根本不存在?

编辑:我不需要打开渲染视频。

reinforcement-learning deep-learning openai-gym

6
推荐指数
1
解决办法
6019
查看次数

在Jupyter笔记本中使用AI-Gym Python图形的困难

我正试图在Jupyter笔记本中显示AI-Gym演示.我获得了Atari演示的良好结果Breakout-v0以及购物车极点演示的难度错误消息CartPole-v0.两者在笔记本电脑外都很好用.以下是最小的细节:

没有JUPYTER

在控制台:

$ pip install gym[atari] &> /dev/null
$ /anaconda3/bin/python3
Python 3.6.3 |Anaconda, Inc.| (default, Oct  6 2017, 12:04:38)
[GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import gym
>>> env = gym.make('Breakout-v0')
>>> env.reset()
>>> env.render()
Run Code Online (Sandbox Code Playgroud)

结果:

在此输入图像描述

现在,同样使用cart-pole,在一个新的Python会话中:

$ pip install gym &> /dev/null
$ /anaconda3/bin/python3
Python 3.6.3 |Anaconda, Inc.| (default, Oct  6 2017, 12:04:38)
[GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)] on darwin
Type …
Run Code Online (Sandbox Code Playgroud)

python matplotlib jupyter openai-gym

6
推荐指数
1
解决办法
1540
查看次数

列出在openai健身房的所有环境id

如何在openai健身房列出所有当前注册的环境ID(因为它们用于创建环境)?

有点背景:安装了许多插件,这些插件都有习惯的ID,如atari,super mario,doom等.

不要与atari-py的游戏名称混淆.

python reinforcement-learning openai-gym

6
推荐指数
2
解决办法
3915
查看次数

NameError:未定义名称“ base” OpenAI Gym

[注意我正在使用xvfb-run -s "-screen 0 1400x900x24" jupyter notebook]

我尝试在OpenAI Gym中运行一组基本命令

import gym
env = gym.make("CartPole-v0")
obs = env.reset()
env.render()
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误:

...

~/Downloads/yes/lib/python3.7/site-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
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能解决此问题?

reinforcement-learning openai-gym

6
推荐指数
3
解决办法
3296
查看次数

注册 OpenAI Gym 畸形环境失败

在 Linux PC 上,我试图创建一个自定义的开放式 AI Gym 环境。我可以完成从 medium.com 写的博客中的所有步骤,包括pip install -e .但我在制作环境的最终产品时遇到错误env = gym.make('BASoperator-v1.0')

中型博客声明需要这个文件目录,我的命名约定是这样的:

vavBox/
  README.md
  setup.py
  vavBox/
    __init__.py
    envs/
      __init__.py
      vavBox.py
Run Code Online (Sandbox Code Playgroud)

这是我的 setup.py:

from setuptools import setup

setup(name='vavBox',
      version='0.0.1',
      install_requires=['gym']
)  
Run Code Online (Sandbox Code Playgroud)

首先init.py:

from gym.envs.registration import register

register(
    id='vavBox',
    entry_point='vavBox.envs:vavBox',
)
Run Code Online (Sandbox Code Playgroud)

env文件夹中的第二个 init.py :

from vavBox.envs.vavBox import vavBox
Run Code Online (Sandbox Code Playgroud)

pip install都很好。我可以看到 pip 安装了 3rd 方包。但是,当我尝试通过以下脚本导入环境时:

import numpy as np
import pandas as pd
import time
import gym
import vavBox


env …
Run Code Online (Sandbox Code Playgroud)

python pip openai-gym

6
推荐指数
1
解决办法
2980
查看次数

rllib 使用自定义注册环境

Rllib 文档提供了一些有关如何创建和训练自定义环境的信息。有一些关于注册该环境的信息,但我想它的工作方式需要与健身房注册不同。

我正在使用SimpleCorridor环境对此进行测试。如果我将注册码添加到文件中,如下所示:

from ray.tune.registry import register_env

class SimpleCorridor(gym.Env):
   ...


def env_creator(env_config):
    return SimpleCorridor(env_config)

register_env("corridor", env_creator)
Run Code Online (Sandbox Code Playgroud)

然后我可以使用字符串名称训练算法没问题:

if __name__ == "__main__":
    ray.init()
    tune.run(
        "PPO",
        stop={
            "timesteps_total": 10000,
        },
        config={
            "env": "corridor", # <--- This works fine!
            "env_config": {
                "corridor_length": 5,
            },
        },
    )
Run Code Online (Sandbox Code Playgroud)

然而

在定义环境的同一个文件中注册环境是没有意义的,因为您可以只使用该类。OpenAI 健身房注册很好,因为如果您安装环境,那么您只需编写即可在任何地方使用它

include gym_corridor
Run Code Online (Sandbox Code Playgroud)

我不清楚是否有办法为 rllib 注册环境做同样的事情。有没有办法做到这一点?

python ray openai-gym

6
推荐指数
1
解决办法
2348
查看次数

导入错误:找不到框架 /System/Library/Frameworks/OpenGL.framework

我正在尝试在新的macOs Big Sur上运行这个简单的健身房示例。

import gym
env = gym.make('CartPole-v0')
env.reset()
for _ in range(1000):
    env.render()
    env.step(env.action_space.sample()) # take a random action
env.close()
Run Code Online (Sandbox Code Playgroud)

但是,我遇到了这个

Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/gym/envs/classic_control/rendering.py", line 25, in <module>
    from pyglet.gl import *
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pyglet/gl/__init__.py", line 95, in <module>
    from pyglet.gl.lib import GLException
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pyglet/gl/lib.py", line 147, in <module>
    from pyglet.gl.lib_agl import link_GL, link_GLU, link_AGL
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pyglet/gl/lib_agl.py", line 43, in <module>
    gl_lib = pyglet.lib.load_library(framework='/System/Library/Frameworks/OpenGL.framework')
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pyglet/lib.py", line 124, in load_library
    return self.load_framework(kwargs['framework'])
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pyglet/lib.py", …
Run Code Online (Sandbox Code Playgroud)

python pyglet openai-gym macos-big-sur openai-api

6
推荐指数
1
解决办法
3375
查看次数

如何在渲染的 openAI 健身房环境中显示剧集

如果我们查看环境的预览,它们​​会在右下角的动画中显示不断增加的剧集。https://gym.openai.com/envs/CartPole-v1/。是否有命令明确显示这一点?

openai-gym

5
推荐指数
1
解决办法
4275
查看次数

稳定基线的替代方案3

您能否建议一些稳定基线的替代方案,我可以用它来训练强化学习中的代理。

另外,我正在使用健身房迷你网格环境,所以请告诉我那些在这种环境中工作的人。

python tensorflow openai-gym stable-baselines

5
推荐指数
0
解决办法
523
查看次数

ImportError:无法从“gym.wrappers”导入名称“Monitor”

我刚刚创建了一个安装了健身房的新环境。我刚刚开始使用 Atari 游戏,但我的以下代码出现导入错误 -

import gym
env = gym.make('FrozenLake-v1')
videosDir = './RL_videos'
env = gym.wrappers.Monitor(env, videosDir )
Run Code Online (Sandbox Code Playgroud)

错误回溯 -

Traceback (most recent call last):
  File "/Users/home/Ash/RL/code/rl03-Videos.py", line 2, in <module>
    from gym.wrappers import Monitor
ImportError: cannot import name 'Monitor' from 'gym.wrappers' (/Users/home/lib/python3.9/site-packages/gym/wrappers/__init__.py)
(pytorch) ash@Ash-Air code % python rl03-Videos.py
Traceback (most recent call last):
  File "/Users/home/Ash/RL/code/rl03-Videos.py", line 15, in <module>
    env = gym.wrappers.Monitor(env, videosDir )
AttributeError: module 'gym.wrappers' has no attribute 'Monitor'
Run Code Online (Sandbox Code Playgroud)

版本 -

Python 3.9

健身房0.23.1

我通过brew 和pip 安装了ffmpeg

reinforcement-learning python-3.x openai-gym

5
推荐指数
1
解决办法
6412
查看次数