Source code for akro.space

"""The abstract base class for all Space types."""


[docs]class Space: """Provides a classification state spaces and action spaces. Allows you to write generic code that applies to any Environment. E.g. to choose a random action. """
[docs] def sample(self, seed=0): """Uniformly randomly sample a random element of this space.""" raise NotImplementedError
[docs] def contains(self, x): """Return boolean specifying if x is a valid member of this space.""" raise NotImplementedError
[docs] def flatten(self, x): """ Return a flattened observation x. Returns: x (flattened) """ raise NotImplementedError
[docs] def unflatten(self, x): """ Return an unflattened observation x. Returns: x (unflattened) """ raise NotImplementedError
[docs] def flatten_n(self, xs): """ Return flattened observations xs. Returns: xs (flattened) """ raise NotImplementedError
[docs] def unflatten_n(self, xs): """ Return unflattened observations xs. Returns: xs (unflattened) """ raise NotImplementedError
@property def flat_dim(self): """Return the length of the flattened vector of the space.""" raise NotImplementedError
[docs] def new_tensor_variable(self, name, extra_dims): """ Create a tensor variable given the name and extra dimensions. :param name: name of the variable :param extra_dims: extra dimensions in the front :return: the created tensor variable """ raise NotImplementedError