标签: openai-gym

是否有可能在OpenAI中创建一个新的健身房环境?

我有一个任务,要制作一个AI代理,学习使用ML玩视频游戏.我想在OpenAI中创建一个新环境,因为我不想在现有环境中工作.如何创建新环境.另外,有没有其他方法可以让我开始让AI Agent在没有OpenAI帮助的情况下玩特定的视频游戏?我是这方面的初学者,所以任何一种帮助/起跑方向都将受到赞赏.

artificial-intelligence machine-learning openai-gym

59
推荐指数
2
解决办法
4万
查看次数

如何在服务器上运行OpenAI Gym .render()

我正在通过Jupyter(Ubuntu 14.04)在p2.xlarge AWS服务器上运行python 2.7脚本.我希望能够渲染我的模拟.

最小的工作示例

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

env.render() 使(除其他外)以下错误:

...
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>'")
...
NoSuchDisplayException: Cannot connect to "None"
Run Code Online (Sandbox Code Playgroud)

我想有些人能够看到模拟.如果我可以将它内联,那将是理想的,但任何显示方法都会很好.

编辑:这只是某些环境的问题,如经典控件.


更新我

灵感来自这个我尝试以下,而不是xvfb-run -s \"-screen 0 1400x900x24\" python <your_script.py>(我不能去上班).

xvfb-run -a jupyter …
Run Code Online (Sandbox Code Playgroud)

python pyglet xvfb jupyter-notebook openai-gym

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

OpenAI健身房Atari在Windows上

我在Windows 10上安装OpenAI Gym Atari环境时遇到问题.我已经在同一系统上成功安装并使用了OpenAI Gym.

它在尝试运行makefile时不断跳闸.

我在运行命令 pip install gym[atari]

这是错误:

在此输入图像描述

这是我目前在我的系统上所拥有的...... cmake并且make都是明确安装的.

在此输入图像描述

python windows openai-gym

36
推荐指数
4
解决办法
3万
查看次数

导入环境OpenAI Gym出错

我正在尝试运行 OpenAI Gym 环境,但出现以下错误:

import gym
env = gym.make('Breakout-v0')
Run Code Online (Sandbox Code Playgroud)

错误

/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/ale_py/gym/environment.py:11: DeprecationWarning: Importing atari-py roms won't be supported in future releases of ale-py.
  import ale_py.roms as roms
A.L.E: Arcade Learning Environment (version +a54a328)
[Powered by Stella]
Traceback (most recent call last):
  File "/Users/username/Desktop/OpenAI Gym Stuff/OpenAI_Exp.py", line 2, in <module>
    env = gym.make('Breakout-v0')
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/gym/envs/registration.py", line 200, in make
    return registry.make(id, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/gym/envs/registration.py", line 105, in make
    env = spec.make(**kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/gym/envs/registration.py", line 75, in make
    env = cls(**_kwargs)
  File …
Run Code Online (Sandbox Code Playgroud)

python openai-gym

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

OpenAI GYM 的 env.step():值是多少?

我正在使用 Python3.10 来了解 OpenAI 的 GYM (0.25.1),并将健身房的环境设置为'FrozenLake-v1(代码如下)。

根据文档,调用env.step()应返回一个包含 4 个值(观察、奖励、完成、信息)的元组。但是,当相应地运行我的代码时,我收到一个 ValueError:

有问题的代码:

observation, reward, done, info = env.step(new_action)
Run Code Online (Sandbox Code Playgroud)

错误:

      3 new_action = env.action_space.sample()
----> 5 observation, reward, done, info = env.step(new_action)
      7 # here's a look at what we get back
      8 print(f"observation: {observation}, reward: {reward}, done: {done}, info: {info}")

ValueError: too many values to unpack (expected 4)
Run Code Online (Sandbox Code Playgroud)

添加一个变量可以修复错误:

a, b, c, d, e = env.step(new_action)
print(a, b, c, d, e)
Run Code Online (Sandbox Code Playgroud)

输出:

5 0 …
Run Code Online (Sandbox Code Playgroud)

python openai-gym valueerror

14
推荐指数
2
解决办法
3万
查看次数

打开ai gym Nameerror

我试图在WSL上使用OpenAI的着名"Gym"模块,并在python 3.5.2上执行代码.当我尝试运行这里解释的环境时,使用代码:

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
Run Code Online (Sandbox Code Playgroud)

有时候是这样的 :

Traceback (most recent call last):
  File "<stdin>", line 4, in <module>
  File "/home/DrHofstadter/gym/gym/core.py", line 153, in render
    return self._render(mode=mode, close=close)
  File "/home/DrHofstadter/gym/gym/core.py", line 285, in _render
    return self.env.render(mode, close)
  File "/home/DrHofstadter/gym/gym/core.py", line 153, in render
    return self._render(mode=mode, close=close)
  File …
Run Code Online (Sandbox Code Playgroud)

python nameerror python-3.x windows-subsystem-for-linux openai-gym

13
推荐指数
1
解决办法
4146
查看次数

OpenAI Gym:了解`action_space`符号(spaces.Box)

我想在OpenAI CarRacing-v0环境中设置RL代理,但在此之前我想了解动作空间.在github上的代码中, 119行说:

self.action_space = spaces.Box( np.array([-1,0,0]), np.array([+1,+1,+1]))  # steer, gas, brake
Run Code Online (Sandbox Code Playgroud)

我该如何阅读这一行?虽然我的问题是具体的,但CarRacing-v0我想了解spaces.Box()一般的符号

reinforcement-learning openai-gym

13
推荐指数
1
解决办法
5333
查看次数

我在 env 渲染中遇到错误 - env.render()

我试图在渲染时实现 Atari Games,但出现如下错误:

line 283, in render
    raise error.Error(
gym.error.Error: render(mode='human') is deprecated. Please supply `render_mode` when constructing your environment, e.g., gym.make(ID, render_mode='human'). The new `render_mode` keyword argument supports DPI scaling, audio, and native framerates.
Run Code Online (Sandbox Code Playgroud)

我收到的完整错误的屏幕截图附在此处

我的代码如下:

episodes = 5

for episode in range(1, episodes+1):
state = env.reset()
done = False
score = 0 

while not done:
    env.render()
    action = random.choice([0,1,2,3,4,5])
    n_state, reward, done, info = env.step(action)
    score+=reward
print('Episode:{} Score:{}'.format(episode, score))
env.close()
Run Code Online (Sandbox Code Playgroud)

堆栈溢出中有一个类似的帖子,其中给出的解决方案是:

pip install pyglet==1.2.4
Run Code Online (Sandbox Code Playgroud)

不幸的是这对我来说也不起作用。

machine-learning python-3.x deep-learning openai-gym

13
推荐指数
1
解决办法
3万
查看次数

为什么我的DQN代理无法在非确定性环境中找到最优策略?

编辑:以下似乎也是如此FrozenLake-v0.请注意,我对简单的Q学习不感兴趣,因为我希望看到适用于连续观察空间的解决方案.

我最近创建了banana_gymOpenAI环境.方案如下:

你有一根香蕉.它必须在2天内出售,因为它在第3天会很糟糕.您可以选择价格x,但香蕉只会以概率出售

在此输入图像描述

奖励为x - 1.如果第三天没有出售香蕉,则奖励为-1.(直觉:你为香蕉付了1欧元).因此,环境是非确定性的(随机的).

操作:您可以将价格设置为{0.00,0.10,0.20,...,2.00}中的任何值

观察:剩余时间(来源)

我计算了最优政策:

Opt at step  1: price 1.50 has value -0.26 (chance: 0.28)
Opt at step  2: price 1.10 has value -0.55 (chance: 0.41)
Run Code Online (Sandbox Code Playgroud)

这也符合我的直觉:首先尝试以更高的价格出售香蕉,因为如果你不卖它,你知道你还有另一种尝试.然后将价格降低到0.00以上.

最优政策计算

我很确定这个是正确的,但为了完整起见

#!/usr/bin/env python

"""Calculate the optimal banana pricing policy."""

import math
import numpy as np


def main(total_time_steps, price_not_sold, chance_to_sell):
    """
    Compare the optimal policy to a given policy.

    Parameters
    ----------
    total_time_steps : int
        How often the agent may offer …
Run Code Online (Sandbox Code Playgroud)

python optimization reinforcement-learning openai-gym keras-rl

12
推荐指数
1
解决办法
1356
查看次数

如何创建具有多种功能的 OpenAI Gym 观察空间

使用Python3.6、Ubuntu 18.04、Gym 0.15.4、RoS melodic、Tensorflow 1.14 和 rl_coach 1.01:

我构建了一个自定义 Gym 环境,它使用 360 元素数组作为观察空间。

high = np.array([4.5] * 360) #360 degree scan to a max of 4.5 meters
low = np.array([0.0] * 360)
self.observation_space = spaces.Box(low, high, dtype=np.float32)
Run Code Online (Sandbox Code Playgroud)

但是,这还不足以通过 ClippedPPO 算法进行正确训练,我想向我的状态添加其他功能,包括:

世界中的位置(x,y 坐标)
世界中的方向(四元数:x,y,z,w) 线性轨迹(x,y,z 坐标) 角轨迹(x,y,z 坐标)。

我将上面的四个特征放入自己的 np.arrays 中,并尝试将它们全部作为状态对象传递回来,但显然它与观察空间不匹配。space.Box 让我困惑。我假设我无法将所有这些功能转储到单个 np 数组中,因为上限和下限会有所不同,但是,我无法确定如何创建具有多个“功能”的 space.Box 对象。

TIA

python reinforcement-learning python-3.x ros openai-gym

10
推荐指数
2
解决办法
2万
查看次数