跳至内容

schola.core.spaces.dict.DictSpace

类定义

class schola.core.spaces.dict.DictSpace(space_dict=None)

基类: Dict

表示空间字典的 Space。

另请参阅

  • gymnasium.spaces.Dict – 此类与之类似的 gym 空间对象
  • proto_spaces.DictSpace – 此空间的 protobuf 表示

参数

space_dict

类型: Dict[str, gymnasium.spaces.Space]
要表示的空间字典。

属性

spaces

类型: Dict[str, gymnasium.spaces.Space]
此对象表示的空间字典。

has_only_one_fundamental_type

类型: bool (属性)
检查字典空间中的所有子空间是否都属于同一基本类型。

is_np_flattenable

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

np_random

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

shape

将空间的形状作为不可变属性返回。

shapes

类型: Dict[str, Tuple[int]] (属性)
获取字典空间中子空间的形状。

方法

__init__

__init__(space_dict=None)

Dict 空间的构造函数。

可以通过以下两种方式之一来实例化此空间:要么通过 spaces 参数将空间字典传递给 __init__(),要么将空间作为单独的关键字参数传递(此时需要避免使用 spacesseed 这两个键)

参数

  • spaces – 空间字典。这指定了 Dict 空间的结构
  • seed – 可选地,您可以使用此参数来为构成 Dict 空间的 RNG 设置种子
  • **spaces_kwargs – 如果 spacesNone,则需要按照上述说明将组成空间作为关键字参数传递

contains

contains(x)

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

fill_proto

fill_proto(msg, action)

参数

  • msg (DictPoint)

from_jsonable

from_jsonable(sample_n)

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

from_proto

@classmethod
from_proto(message)

get

get(k, d=None)

items

items()

keys

keys()

返回 Dict 的键。

process_data

process_data(msg)

参数

  • msg (DictPoint)

sample

sample(mask=None)

从此空间生成一个随机样本。

seed

seed(seed=None)

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

simplify

simplify()

通过合并相同基本类型的子空间来简化字典空间(如果可能)。

返回: 简化后的空间

返回类型: gymnasium.spaces.Space

示例

>>> space = DictSpace({"a": BoxSpace([0,0],[2,2]), "b": BoxSpace([0,0],[2,2])})
>>> space.simplify()
Box(0.0, 2.0, (4,), float32)
>>> space = DictSpace({"a": DiscreteSpace(4), "b": BoxSpace([0,0],[2,2])})
>>> space.simplify()
Dict('a': Discrete(4), 'b': Box(0.0, 2.0, (2,), float32))
>>> space = DictSpace({"a": DiscreteSpace(4)})
>>> space.simplify()
Discrete(4)

to_jsonable

to_jsonable(sample_n)

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

to_normalized

to_normalized()

通过标准化此字典空间中的所有子空间来标准化此字典空间。

返回: 规范化后的字典空间。该方法被调用的空间的一个修改版本

返回类型: DictSpace

示例

>>> space = DictSpace({"a": BoxSpace([0,0],[2,2]), "b": DiscreteSpace(3)})
>>> space.to_normalized()
Dict('a': Box(0.0, 2.0, (2,), float32), 'b': Discrete(3))

values

values()

属性文档

has_only_one_fundamental_type

检查字典空间中的所有子空间是否都属于同一基本类型。

返回: 如果所有子空间都属于同一基本类型,则返回 True,否则返回 False

返回类型: bool

示例

>>> space = DictSpace({"a": BoxSpace([0,0],[2,2]), "b": DiscreteSpace(3)})
>>> space.has_only_one_fundamental_type
False
>>> space = DictSpace({"a": BoxSpace([0,0],[2,2]), "b": BoxSpace([0,0],[2,2])})
>>> space.has_only_one_fundamental_type
True
>>> space = DictSpace({"a": DiscreteSpace(3), "b": MultiDiscreteSpace([3,3])})
>>> space.has_only_one_fundamental_type
True

shapes

获取字典空间中子空间的形状。

返回: 字典空间中子空间形状的字典

返回类型: Dict[str, Tuple[int]]

示例

>>> space = DictSpace({"a": BoxSpace(0, 1, shape=(2,)), "b": DiscreteSpace(3)})
>>> space.shapes
{'a': 2, 'b': 1}
© . This site is unofficial and not affiliated with AMD.