schola.core.spaces.discrete.DiscreteSpace
class schola.core.spaces.discrete.DiscreteSpace(n)
: 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]
n : The number of discrete values in the space.
Type: : int
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. |
to_normalized () | 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)
: Constructor of Discrete
space.
This will construct the space ({\text{start}, …, \text{start} + n - 1}).
Parameters: : - n (int) – The number of elements of this space.
- seed – Optionally, you can use this argument to seed the RNG that is used to sample from the
Dict
space. - start (int) – The smallest element of this space.
fill_proto(msg, value) : 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) : 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
classmethod merge(*spaces) : Merge multiple DiscreteSpaces into a single space.
Parameters: : *spaces (List*[Union[DiscreteSpace,* MultiDiscreteSpace]**]) – The spaces to merge.
Returns: : The merged space.
Return type: : MultiDiscreteSpace
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) : 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
proto_space
: alias of DiscreteSpace
to_normalized() : 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: : UnrealSpace