schola.core.spaces.discrete.MultiDiscreteSpace
类定义
class schola.core.spaces.discrete.MultiDiscreteSpace(nvec)基类: MultiDiscrete, UnrealSpace
表示离散值向量的空间。
另请参阅
gymnasium.spaces.MultiDiscrete– 本类对此类空间具有类比性proto_spaces.MultiDiscreteSpace– 此空间的 protobuf 表示
参数
nvec
类型: List[int]
空间每个维度中的离散值数量。
属性
nvec
类型: List[int]
空间每个维度中的离散值数量。
is_np_flattenable
检查此空间是否可以展平为spaces.Box。
np_random
延迟初始化 PRNG,因为这很耗时,并且仅在从此空间采样时才需要。
shape
具有比gym.Space 更严格的类型 - 永远不是 None。
proto_space
DiscreteSpace 的别名
方法
__init__
__init__(nvec)MultiDiscrete 空间的构造函数。
参数 nvec 将决定每个分类变量可以取的值的数量。如果提供了 start,它将定义与每个分类变量对应的最小值。
参数
- nvec (
List[int]) – 每个分类变量的计数向量。这通常是整数列表。但是,如果您希望空间具有多个轴,也可以传递更复杂的 numpy 数组。 - dtype – 这应该是某种整数类型
- seed – 可选,您可以使用此参数为用于从空间中采样(sample)的 RNG 设置种子。
- start – 可选,每个类别的元素的起始值(默认为 0)
contains
contains(x)返回一个布尔值,指定 x 是否为此空间的一个有效成员。
fill_proto
fill_proto(msg, values)将此空间中的点的 Python 表示转换为 protobuf 消息。会修改 msg 以包含结果。
参数
- msg (
proto_points.FundamentalPoint) – 要填充的 protobuf 消息 - value (
Any) – 点的 Python 表示 - values (
ndarray)
返回类型: None
from_jsonable
from_jsonable(sample_n)将 JSONable 数据类型转换为此空间样本的批次。
from_proto
@classmethodfrom_proto(message)从 protobuf 表示创建 Space 对象。
参数
- message (
proto_space) – 要转换的 protobuf 消息
返回: 从 protobuf 消息创建的 Space 子类
返回类型: UnrealSpace
is_empty_definition
@classmethodis_empty_definition(message)当且仅当此空间的大小为 0 时,返回 True。
参数
- message (
proto_space) – 要检查是否为空的 protobuf 消息
返回: 如果空间为空,则返回 True。
返回类型: bool
merge
@classmethodmerge(*spaces)将多个 DiscreteSpaces 合并为一个空间。
参数
- *spaces (
List[Union[DiscreteSpace, MultiDiscreteSpace]]) – 要合并的空间
返回: 合并后的空间。
返回类型: MultiDiscreteSpace
引发: TypeError – 如果任何空间不是 Discrete 或 MultiDiscrete。
另请参阅: merge_discrete_like_spaces – 将多个 Discrete 或 MultiDiscrete 空间合并为一个 MultiDiscrete 空间。
process_data
process_data(msg)将此空间中的点对应的 protobuf 消息转换为 Python 表示。
参数
- msg (
proto_points.FundamentalPoint) – 要转换的 protobuf 消息
返回: 点的 Python 表示。
返回类型: np.ndarray
sample
sample(mask=None)生成此空间的单个随机样本。
seed
seed(seed=None)为该空间及其子空间的 PRNG 设置种子。
to_jsonable
to_jsonable(sample_n)将此空间样本的批次转换为 JSONable 数据类型。
to_normalized
to_normalized()返回该空间的标准化版本。如果空间子类未实现 to_normalized,则此函数无任何操作。
返回: 标准化后的空间。
返回类型: UnrealSpace