跳至内容

schola.core.spaces.box.BoxSpace

类定义

class schola.core.spaces.box.BoxSpace(low, high, shape=None)

基类: Box, UnrealSpace

表示 n 维空间中一个盒子的空间。

另请参阅

  • gymnasium.spaces.Box – 此类对应的 gym space 对象
  • proto_spaces.BoxSpace – 此空间的 protobuf 表示

参数

类型: Union[float, np.ndarray, List[float]]
盒子的下界。

类型: Union[float, np.ndarray, List[float]]
盒子的上界。

shape

类型: Tuple[int], 可选
空间的形状。

属性

shape

类型: Tuple[int]
空间的形状。具有比 gym.Space 更严格的类型 - 绝不为 None。

is_np_flattenable

检查此空间是否可以展平为spaces.Box

np_random

延迟初始化 PRNG,因为这很耗时,并且仅在从此空间采样时才需要。

proto_space

别名:BoxSpace

方法

__init__

__init__(low, high, shape=None)

Box 的构造函数。

low 参数指定每个维度的下界,high 参数指定上界。也就是说,构造的空间将是区间 [low[i], high[i]] 的乘积。

如果 low(或 high)是标量,则下界(或上界)将假定为所有维度上的此值。

参数

  • low (SupportsFloat | np.ndarray) – 区间的下界。如果为整数,则必须至少为 -2**63
  • high (SupportsFloat | np.ndarray) – 区间的上界。如果为整数,则必须最多为 2**63 - 2
  • shape (Optional[Sequence[int]]) – 形状是从 low 或 high np.ndarrays 的形状推断出来的,当 low 和 high 为标量时,默认形状为 (1,)
  • dtype – 空间元素的 dtype。如果这是一个整数类型,则 Box 本质上是一个离散空间
  • seed – 可选,您可以使用此参数为用于从空间中采样(sample)的 RNG 设置种子。

引发: ValueError – 如果未提供任何形状信息(shape 为 None,low 为 None 且 high 为 None),则会引发 ValueError。

contains

contains(x)

返回一个布尔值,指定 x 是否为此空间的一个有效成员。

fill_proto

fill_proto(msg, values)

将此空间中的点的 Python 表示转换为 protobuf 消息。会修改 msg 以包含结果。

参数

  • msg (proto_points.FundamentalPoint) – 要填充的 protobuf 消息
  • value (Any) – 点的 Python 表示

from_jsonable

from_jsonable(sample_n)

将 JSONable 数据类型转换为此空间样本的批次。

from_proto

@classmethod
from_proto(message)

从 protobuf 表示创建 Space 对象。

参数

  • message (proto_space) – 要转换的 protobuf 消息

返回: 从 protobuf 消息创建的 Space 子类

返回类型: UnrealSpace

is_bounded

is_bounded(manner="both")

检查该框在某种意义上是否受限。

is_empty_definition

@classmethod
is_empty_definition(message)

当且仅当此空间的大小为 0 时,返回 True。

参数

  • message (proto_space) – 要检查是否为空的 protobuf 消息

返回: 如果空间为空,则返回 True。

返回类型: bool

merge

@classmethod
merge(*spaces)

将多个 BoxSpaces 合并为一个空间。

参数

  • *spaces (List[BoxSpace]) – 要合并的空间

返回: 合并后的空间。

返回类型: BoxSpace

引发: TypeError – 如果任何空间不是 BoxSpaces。

示例

>>> merged_space = BoxSpace.merge(BoxSpace([0,0],[1,1]), BoxSpace([2,2],[3,3]))
>>> merged_space == BoxSpace([0, 0, 2, 2], [1, 1, 3, 3])
True

process_data

process_data(msg)

将此空间中的点对应的 protobuf 消息转换为 Python 表示。

参数

  • msg (proto_points.FundamentalPoint) – 要转换的 protobuf 消息

返回: 点的 Python 表示。

返回类型: np.ndarray

sample

sample(mask=None)

生成 Box 内的一个随机样本。

seed

seed(seed=None)

为该空间及其子空间的 PRNG 设置种子。

to_jsonable

to_jsonable(sample_n)

将此空间样本的批次转换为 JSONable 数据类型。

to_normalized

to_normalized()

将空间的界限归一化为 0 到 1 之间。

返回: 归一化后的空间。调用此方法的空间的一个修改版本

返回类型: BoxSpace

示例

>>> space = BoxSpace([0, 0],[2, 2])
>>> space.to_normalized() == BoxSpace([0., 0.], [1., 1.])
True
© . This site is unofficial and not affiliated with AMD.