hyphi_gym.common.base
#
Module Contents#
Classes#
Base Env Implementing |
Attributes#
- hyphi_gym.common.base.RAND_KEY = ['Agent', 'Target']#
- hyphi_gym.common.base.RAND_KEYS = ['Agents', 'Targets']#
- hyphi_gym.common.base.RAND#
- class hyphi_gym.common.base.Base(detailed=False, sparse=False, explore=False, can_fail=False, random=[], RADD=[], seed: int | None = None, max_episode_steps=100)#
Bases:
gymnasium.Env
Base Env Implementing • Truncated Episodes (via max_episode_steps) • Sparse Rewards (defaults to False) • Detailed Rewards (defaults to False) • Reward Threshold for Early Stopping • Exploration Mode without reward / target • Supporting randomization upon init (Agent and Target), or, upon reset (Agents, Targets and items in RADD) • Seeding nondeterministic environments • Generating dynamic spec obejct and env name based on the configuration
- property name: str#
Generates the dynamic environent name
- property spec: gymnasium.envs.registration.EnvSpec#
Getter function to generate the dynmaic environment spec
- _name: str#
- layout: numpy.ndarray | None#
- seed(seed: int | None = None)#
- abstract _validate(layout: numpy.ndarray, error: bool, setup: bool) int #
Overwrite this function to validate layout return steps to solution
- abstract _randomize(layout: numpy.ndarray, key: str) tuple[numpy.ndarray] #
Overwrite this function to randomize layout w.r.t. key Return old and new position
- randomize(layout, keys=RAND, setup=False)#
Helper function to randomize all keys in self.random. Randomization can be forced via setup
- abstract _generate() numpy.ndarray #
Random generator function for a layout of self.specs
- _reset(layout)#
- reset(layout=None, **kwargs) tuple[gymnasium.spaces.Space, dict] #
Gymnasium compliant function to reset the environment
- _reward_threshold(layout: numpy.ndarray | None = None, setup=False)#
Given a layout, calculates the min and max returns
- abstract execute(action: gymnasium.spaces.Space) tuple[gymnasium.spaces.Space, dict] #
Overwrite this function to perfom step mutaions on the actual environment.
- step(action: gymnasium.spaces.Space) tuple[gymnasium.spaces.Space, float, bool, bool, dict] #
Gymnasium compliant fucntion to step the environment with action using the internal _step