- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在不打开渲染窗口的情况下访问 OpenAIgym CartPole-v0
环境中的原始像素。我该怎么做?
示例代码:
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)
PS。我很难找到 OpenAI Gym 的良好文档。是只有我这样,还是根本不存在?
编辑:我不需要打开渲染视频。
最佳答案
我对此感到好奇,所以我开始研究源代码,这就是我发现的。
Open AI 使用 pyglet 来显示窗口和动画。
为了显示动画,所有内容都绘制到窗口上然后渲染。
然后 pyglet 将显示的内容存储到缓冲区中。
如何在开放人工智能中编写代码的虚拟版本
import pyglet
from pyglet.gl import *
import numpy as np
display = pyglet.canvas.get_display()
screen = display.get_screens()
config = screen[0].get_best_config()
pyglet.window.Window(width=500, height=500, display=display, config=config)
# draw what ever you want
#get image from the buffer
buffer = pyglet.image.get_buffer_manager().get_color_buffer()
image_data=buffer.get_image_data()
arr = np.frombuffer(image_data.get_data(),dtype=np.uint8)
print(arr)
print(arr.shape)
输出:[0 0 0 ... 0 0 0]
(1000000,)
所以基本上我们得到的每个图像都来自窗口上显示的缓冲区。因此,如果我们不在窗口上绘制任何内容,我们就得不到图像,因此需要窗口来获取图像。所以你需要找到一种方法,使窗口不显示,但它的值存储在缓冲区中。我知道这不是您想要的,但我希望它可以引导您找到解决方案。
关于deep-learning - OpenAI健身房: How to get pixels in CartPole-v0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43536034/
我找不到 OpenAI Gym 环境“CartPole-v0”和“CartPole-v1”之间差异的准确描述。 这两种环境都有专门针对它们的单独的官方网站(请参阅 1 和 2 ),尽管我只能在gym
我试图实现最简单的深度 Q 学习算法。我认为,我已经正确地实现了它,并且知道深度 Q 学习在发散方面挣扎,但奖励下降得非常快,损失也在发散。如果有人能帮我指出正确的超参数,或者我是否错误地实现了算法,
我正在做策略梯度,我试图找出该任务的最佳目标函数是什么。该任务是开放的 ai CartPole-v0 环境,其中代理在其生存的每个时间步中收到 1 的奖励,并在终止时收到 0 的奖励。我试图找出对目标
最近,我比较了 CartPole-v0 环境中 DQN 的两个模型。其中一个是具有 3 层的多层感知器,另一个是由 LSTM 和 1 个全连接层构建的 RNN。我有一个大小为 200000 的经验回放
我正在经历this教程并看到以下代码: # Calculate score to determine when the environment has been solved
关闭。这个问题需要debugging details .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 3年前关闭。 Improve this questio
我是强化学习的初学者,正在尝试实现策略梯度方法来使用 Tensorflow 解决 Open AI Gym CartPole 任务。然而,我的代码似乎运行得非常慢;第一集的运行速度还可以,但是从第二集开
我知道 env=gym.make('CartPole-v0') 的类型是 gym.wrappers.time_limit.TimeLimit 而且我还知道 env 是类 cartpole.py 的“实
您好,我正在尝试训练 DQN 来解决健身房的 Cartpole 问题。出于某种原因 Loss看起来像这样(橙色线)。你们能看看我的代码并帮助解决这个问题吗?我对超参数进行了一些尝试,所以我认为它们不是
我想在不打开渲染窗口的情况下访问 OpenAIgym CartPole-v0 环境中的原始像素。我该怎么做? 示例代码: import gym env = gym.make("CartPole-v0"
我试图实现一个 DQN 来解决 OpenAI Gym 中的 CartPole-v0 任务。不幸的是,我的实现的性能似乎没有提高。 目前,随着训练的进行,剧集奖励实际上会减少,而目标是找到更好的策略来增
所以我正在使用使用tensorflow的deepQ实现来解决CartPole-v0,但是输出有时(所有运行的40%)停留在9。我尝试使用tf.set_random_seed修复种子,但这仍然没有不保证
我正在使用示例代码学习 AzureML RL。 我可以运行用于训练的 cartpole 示例 (cartpole_ci.ipynb) 计算实例上的 PPO 模型。 我通过将 training_algo
我是一名优秀的程序员,十分优秀!