- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
除了 openAI's doc ,我没能找到更详细的文档。
我需要知道正确的创建方法:
一个具有 1..n
个可能操作的操作空间。 (当前使用离散 Action 空间)
具有 2^n
状态的观察空间 - 已采取的每种可能的操作组合的状态。我想要 Action 向量的 one-hot 表示 - 1 表示已采取行动
,0 表示尚未采取行动
如何使用 openAI 的 Gym 做到这一点?
谢谢
最佳答案
在撰写本文时,gym
包提供的 gym.Spaces
都不能用于镜像单一热编码表示。
幸运的是,我们可以通过创建 gym.Spaces
的子类来定义自己的空间。
我做了这样一个类,可能正是你所需要的:
import gym
import numpy as np
class OneHotEncoding(gym.Space):
"""
{0,...,1,...,0}
Example usage:
self.observation_space = OneHotEncoding(size=4)
"""
def __init__(self, size=None):
assert isinstance(size, int) and size > 0
self.size = size
gym.Space.__init__(self, (), np.int64)
def sample(self):
one_hot_vector = np.zeros(self.size)
one_hot_vector[np.random.randint(self.size)] = 1
return one_hot_vector
def contains(self, x):
if isinstance(x, (list, tuple, np.ndarray)):
number_of_zeros = list(x).contains(0)
number_of_ones = list(x).contains(1)
return (number_of_zeros == (self.size - 1)) and (number_of_ones == 1)
else:
return False
def __repr__(self):
return "OneHotEncoding(%d)" % self.size
def __eq__(self, other):
return self.size == other.size
您可以这样使用它:
-> space = OneHotEncoding(size=3)
-> space.sample()
array([0., 1., 0.])
-> space.sample()
array([1., 0., 0.])
-> space.sample()
array([0., 0., 1.])
希望能帮到你
关于python - OpenAI Gym - 如何打造独热观察空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54022606/
关注 this (不可读)论坛帖子,我认为将其发布在堆栈溢出上以供后代搜索它是合适的。 如何在 init 上为健身房环境传递参数? 最佳答案 同时支持 gym.make 中的论点已实现,因此您可以将关
调用 env.render() 总是渲染一个充满整个屏幕的窗口。 env = gym.make('FetchPickAndPlace-v1') env.reset() for i in range(1
我正在查看FrozenLake environments在露天健身房。在这两种方法中,在智能体达到目标之前,都没有奖励,甚至没有负奖励。即使特工掉进冰里,也没有负面奖励——尽管情节结束了。没有奖励,就
我已经尝试使用健身房几周了。然而,我没有成功。我正在尝试运行 CartPole 的此实现,但收到返回错误: NotImplementedError:抽象 据我所知,我已经安装了健身房。但是,无论出于何
我使用的是 WSL2 和 Ubuntu 20.4,我使用 (venv) 创建了一个全新的虚拟环境,并按照 OpenAI 官方页面的说明 (https://retro.readthedocs.io/en
我使用的是 WSL2 和 Ubuntu 20.4,我使用 (venv) 创建了一个全新的虚拟环境,并按照 OpenAI 官方页面的说明 (https://retro.readthedocs.io/en
是否可以让 faSTLane gym Action 跳过存档和导出到 IPA?例如,如果您只是在 CI 服务器上构建验证,并且不需要输出,而只想验证编译和测试步骤。 最佳答案 你应该检查scan :
所以我刚刚开始使用 OpenAI 的 Gym,并尝试在控制台中渲染环境。具体来说,它是 Taxi-v2 环境。在它应该显示颜色的地方,它只显示符号(我认为是它们的 ANSI 代码),所以我相信它没有正
我正在 OpenAI Gym 中制作自定义环境,但真的不明白,action_space 是做什么用的?我应该在里面放什么?准确地说,我不知道 action_space 是什么,我没有在任何代码中使用它
我创建了一个自定义健身房环境,其中的操作可以是 -100 到 +100 之间的任何整数。据我所知,不可能创建一个允许负值的离散空间,我唯一的解决方案是创建一个从 -100 到 +100 的 Box 空
我对下面提供的代码有一些问题。我正在研究 python 3.6。我已经重新安装了 Python 和运行代码所需的所有模块。总的来说,我所做的一切都是基于这个tutorial . 问题描述: 当我运行此
除了 openAI's doc ,我没能找到更详细的文档。 我需要知道正确的创建方法: 一个具有 1..n 个可能操作的操作空间。 (当前使用离散 Action 空间) 具有 2^n 状态的观察空间
我们有多个构建使用不同的应用程序 ID、配置文件和团队(一个团队 ID 是官方的,另一个是企业的)。我试图将它们放在 Gymfile 中,因为 faSTLane 无法弄清楚配置文件。 Gymfile
我已阅读 https://codesigning.guide/但决定不使用此解决方案来存储我的配置文件,而是将它们存储在每个项目的 git 中。 对于我的项目,我在我的 xconfig 文件中指定了我
我想知道在 OpenAI Gym( https://gym.openai.com/ ) 中观察 CartPole-v0 的规范。 例如,在下面的代码中输出observation。一种观察结果类似于 [
我正在尝试在 WSL 上使用来自 OpenAI 的著名“健身房”模块,并在 python 3.5.2 上执行代码。 当我尝试运行环境时 as explained here ,使用代码: import
从头开始构建 OpenAI Gym 环境时,必须定义一个 Action 空间。这是通过数据包“空间”中的自己的“数据结构”完成的。有几种不同类型的空间,如 Box、Discrete 等。我有一个元组列
如果我们查看环境的预览,它们会在右下角的动画中显示剧集的增加。 https://gym.openai.com/envs/CartPole-v1/ .是否有明确显示的命令? 最佳答案 我认为 Ope
我正在尝试运行 OpenAI Gym 环境,但是出现以下错误: import gym env = gym.make('Breakout-v0') 错误 /Library/Frameworks/Pyth
我想知道是否有人知道是否有教程或任何有关如何从 openai 健身房修改 CarRacing-v0 环境的信息,更确切地说是如何创建不同的道路,我还没有找到任何相关信息。 我想要做的就是创建一条更难的
我是一名优秀的程序员,十分优秀!