Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade to version 1.6.5 #278

Merged
merged 42 commits into from
Jan 19, 2022
Merged

Upgrade to version 1.6.5 #278

merged 42 commits into from
Jan 19, 2022

Conversation

BDonnot
Copy link
Collaborator

@BDonnot BDonnot commented Jan 19, 2022

This release focuses on grid2op improvment, especially adressing some enhancement of the github issues.

Breaking changes

  • the function "env.reset()" now reset the underlying pseudo random number generators
    of all the environment subclasses (eg. observation space, action space, etc.) This change has been made to
    ensure reproducibility between episodes: if env.seed(...) is called once, then regardless of what happens
    (basically the number of "env.step()" between calls to "env.reset()")
    the "env.reset()" will be generated with the same prng (drawn from the environment)
    This effect the opponent and the chronics (when maintenance are generated "on the fly").
  • the name of the python files for the "Chronics" module are now lowercase (complient with PEP). If you
    did things like from grid2op.Chronics.ChangeNothing import ChangeNothing you need to change it like
    from grid2op.Chronics.changeNothing import ChangeNothing or even better, and this is the preferred way to include
    them: from grid2op.Chronics import ChangeNothing. It should not affect lots of code (more refactoring of the kind
    are to be expected in following versions).
  • same as above for the "Observation" module. It should not affect lots of code (more refactoring of the kind
    are to be expected in following versions).

Fixed issues

New features

  • possibility to "env.set_id" by giving only the folder of the chronics and not the whole path.
  • function "env.chronics_handler.available_chronics()" to return the list of available chronics
    for a given environment
  • possibility, through the Parameters class, to limit the number of possible calls to obs.simulate(...)
    see param.MAX_SIMULATE_PER_STEP and param.MAX_SIMULATE_PER_EPISODE (see issue Count the number of use of "simulate" per step and globally #273)
  • a class to generate a "Chronics" readable by grid2op from numpy arrays (see Add a possibility to load chronics from a numpy array #271)
  • an attribute delta_time in the observation that tells the time (in minutes) between two consecutive steps.
  • a method of the action space to show a list of actions to get back to the original topology
    (see Create a "get back to meshed topology"  #275)
    env.action_space.get_back_to_ref_state(obs)
  • a method of the action to store it in a grid2op independant fashion (using json and dictionaries), see act.as_serializable_dict()
  • possibility to generate a gym DiscreteActSpace from a given list of actions (see Discrete gym act space with given list of actions #277)
  • a class that output a noisy observation to the agent (see NoisyObservation): the agent sees
    the real values of the environment with some noise, this could used to model inacurate
    sensors.

Improvements

BDonnot and others added 30 commits November 17, 2021 08:51
Fixing a typo when giving examples on the different topology. Line 98
…euse, and to be independant of grid2op version [skip ci]
Update 00_Introduction.ipynb
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment