schola.core.spaces.discrete.DiscreteSpace
- class schola.core.spaces.discrete.DiscreteSpace(n)[source]
-
Bases:
Discrete
,UnrealSpace
A Space representing a single discrete value.
- Parameters:
-
n (int) – The number of discrete values in the space. e.g. space is one value in interval [0,n]
See also
gymnasium.spaces.Discrete
-
The gym space object that this class is analogous to.
proto_spaces.DiscreteSpace
-
The protobuf representation of this space.
Methods
__init__
(n)Constructor of
Discrete
space.contains
(x)Return boolean specifying if x is a valid member of this space.
fill_proto
(msg, value)Convert a python representation of point in this space to a protobuf message.
from_jsonable
(sample_n)Converts a list of json samples to a list of np.int64.
from_proto
(message)Create a Space Object from a protobuf representation.
is_empty_definition
(message)Returns True iff this space has magnitude 0.
merge
(*spaces)Merge multiple DiscreteSpaces into a single space.
process_data
(msg)Convert a protobuf message corresponding to a point in this space to a pythonic representation.
sample
([mask])Generates a single random sample from this space.
seed
([seed])Seed the PRNG of this space and possibly the PRNGs of subspaces.
to_jsonable
(sample_n)Converts a list of samples to a list of ints.
Returns a normalized version of the space.
Attributes
is_np_flattenable
Checks whether this space can be flattened to a
spaces.Box
.np_random
Lazily seed the PRNG since this is expensive and only needed if sampling from this space.
shape
Return the shape of the space as an immutable property.
- __init__(n)[source]
-
Constructor of
Discrete
space.This will construct the space \(\{\text{start}, …, \text{start} + n – 1\}\).
- fill_proto(msg, value)[source]
-
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.
-
- classmethod is_empty_definition(message)[source]
-
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:
- classmethod merge(*spaces)[source]
-
Merge multiple DiscreteSpaces into a single space.
- Parameters:
-
*spaces (List[Union[DiscreteSpace, MultiDiscreteSpace]]) – The spaces to merge.
- Returns:
-
The merged space.
- Return type:
- Raises:
-
TypeError – If any of the spaces are not Discrete or MultiDiscrete.
See also
merge_discrete_like_spaces
-
Merge multiple Discrete or MultiDiscrete spaces into a single MultiDiscrete space.
- process_data(msg)[source]
-
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
- to_normalized()[source]
-
Returns a normalized version of the space. Is a noop if a space subclass does not implement to_normalized.
- Returns:
-
The normalized space.
- Return type: