schola.core.spaces.binary.MultiBinarySpace
Class Definition
class schola.core.spaces.binary.MultiBinarySpace(n)Bases: MultiBinary, UnrealSpace
A Space representing a vector of binary values.
See also:
gymnasium.spaces.MultiBinary– The gym space object that this class is analogous toproto_spaces.BinarySpace– The protobuf representation of this space
Parameters
n
Type: int
The number of binary values in the space.
Attributes
shape
Type: Tuple[int]
The shape of the space. Has stricter type than gym.Space - never None.
n
Type: int
The number of binary values in the space.
is_np_flattenable
Checks whether this space can be flattened to aspaces.Box.
np_random
Lazily seed the PRNG since this is expensive and only needed if sampling from this space.
proto_space
Alias ofBinarySpace
Methods
__init__
__init__(n)Constructor of MultiBinary space.
Parameters:
- n (
int) – This will fix the shape of elements of the space. It can either be an integer (if the space is flat) or some sort of sequence (tuple, list or np.ndarray) if there are multiple axes - seed – Optionally, you can use this argument to seed the RNG that is used to sample from the space
contains
contains(x)Return boolean specifying if x is a valid member of this space.
fill_proto
fill_proto(msg, values)Convert a python representation of point in this space to a protobuf message. Mutates msg with the result.
Parameters:
- msg (
proto_points.FundamentalPoint) – The protobuf message to fill - value (
Any) – The pythonic representation of the point
from_jsonable
from_jsonable(sample_n)Convert a JSONable data type to a batch of samples from this space.
from_proto
@classmethodfrom_proto(message)Create a Space Object from a protobuf representation.
Parameters:
- message (
proto_space) – The protobuf message to convert
Returns: The Space subclass created from the protobuf message
Return type: UnrealSpace
is_empty_definition
@classmethodis_empty_definition(message)Returns True iff this space has magnitude 0.
Parameters:
- message (
proto_space) – The protobuf message to check for emptiness
Returns: True iff the space is empty.
Return type: bool
merge
@classmethodmerge(*spaces)Merge multiple MultiBinarySpaces into a single space.
Parameters:
- *spaces (
List[MultiBinarySpace]) – The spaces to merge
Returns: The merged space.
Return type: MultiBinarySpace
Raises: TypeError – If any of the spaces are not MultiBinarySpaces.
Example:
>>> merged_space = MultiBinarySpace.merge(MultiBinarySpace(3), MultiBinarySpace(4))>>> merged_space.n7process_data
process_data(msg)Convert a protobuf message corresponding to a point in this space to a pythonic representation.
Parameters:
- msg (
proto_points.FundamentalPoint) – The protobuf message to convert
Returns: The pythonic representation of the point.
Return type: np.ndarray
sample
sample(mask=None)Generates a single random sample from this space.
seed
seed(seed=None)Seed the PRNG of this space and possibly the PRNGs of subspaces.
to_jsonable
to_jsonable(sample_n)Convert a batch of samples from this space to a JSONable data type.
to_normalized
to_normalized()Cannot normalize a binary space, so return self.