BaseObservation¶
-
class
grid2op.Observation.
BaseObservation
(gridobj, obs_env=None, action_helper=None, seed=None)[source]¶ Basic class representing an observation.
All observation must derive from this class and implement all its abstract methods.
-
action_helper
¶ A reprensentation of the possible action space.
-
year
¶ The current year
- Type
int
-
month
¶ The current month (0 = january, 11 = december)
- Type
int
-
day
¶ The current day of the month
- Type
int
-
hour_of_day
¶ The current hour of the day
- Type
int
-
minute_of_hour
¶ The current minute of the current hour
- Type
int
-
day_of_week
¶ The current day of the week. Monday = 0, Sunday = 6
- Type
int
-
prod_p
¶ The active production value of each generator (expressed in MW).
- Type
numpy.ndarray
, dtype:float
-
prod_q
¶ The reactive production value of each generator (expressed in MVar).
- Type
numpy.ndarray
, dtype:float
-
prod_v
¶ The voltage magnitude of the bus to which each generator is connected (expressed in kV).
- Type
numpy.ndarray
, dtype:float
-
load_p
¶ The active load value of each consumption (expressed in MW).
- Type
numpy.ndarray
, dtype:float
-
load_q
¶ The reactive load value of each consumption (expressed in MVar).
- Type
numpy.ndarray
, dtype:float
-
load_v
¶ The voltage magnitude of the bus to which each consumption is connected (expressed in kV).
- Type
numpy.ndarray
, dtype:float
-
p_or
¶ The active power flow at the origin end of each powerline (expressed in MW).
- Type
numpy.ndarray
, dtype:float
-
q_or
¶ The reactive power flow at the origin end of each powerline (expressed in MVar).
- Type
numpy.ndarray
, dtype:float
-
v_or
¶ The voltage magnitude at the bus to which the origin end of each powerline is connected (expressed in kV).
- Type
numpy.ndarray
, dtype:float
-
a_or
¶ The current flow at the origin end of each powerline (expressed in A).
- Type
numpy.ndarray
, dtype:float
-
p_ex
¶ The active power flow at the extremity end of each powerline (expressed in MW).
- Type
numpy.ndarray
, dtype:float
-
q_ex
¶ The reactive power flow at the extremity end of each powerline (expressed in MVar).
- Type
numpy.ndarray
, dtype:float
-
v_ex
¶ The voltage magnitude at the bus to which the extremity end of each powerline is connected (expressed in kV).
- Type
numpy.ndarray
, dtype:float
-
a_ex
¶ The current flow at the extremity end of each powerline (expressed in A).
- Type
numpy.ndarray
, dtype:float
-
rho
¶ The capacity of each powerline. It is defined at the observed current flow divided by the thermal limit of each powerline (no unit)
- Type
numpy.ndarray
, dtype:float
-
connectivity_matrix_
¶ The connectivityt matrix (if computed, or None) see definition of
connectivity_matrix()
for more information- Type
numpy.ndarray
, dtype:float
-
bus_connectivity_matrix_
¶ - The bus_connectivity_matrix_ matrix (if computed, or None) see definition of
BaseObservation.bus_connectivity_matrix()
for more information
- Type
numpy.ndarray
, dtype:float
-
vectorized
¶ The vector representation of this BaseObservation (if computed, or None) see definition of
to_vect()
for more information.- Type
numpy.ndarray
, dtype:float
-
topo_vect
¶ For each object (load, generator, ends of a powerline) it gives on which bus this object is connected in its substation. See
grid2op.Backend.Backend.get_topo_vect()
for more information.- Type
numpy.ndarray
, dtype:int
-
line_status
¶ Gives the status (connected / disconnected) for every powerline (
True
at position i means the powerline i is connected)- Type
numpy.ndarray
, dtype:bool
-
timestep_overflow
¶ Gives the number of time steps since a powerline is in overflow.
- Type
numpy.ndarray
, dtype:int
-
time_before_cooldown_line
¶ For each powerline, it gives the number of time step the powerline is unavailable due to “cooldown” (see
grid2op.Parameters.Parameters.NB_TIMESTEP_LINE_STATUS_REMODIF
for more information). 0 means the an action will be able to act on this same powerline, a number > 0 (eg 1) means that an action at this time step cannot act on this powerline (in the example the agent have to wait 1 time step)- Type
numpy.ndarray
, dtype:int
-
time_before_cooldown_sub
¶ Same as
BaseObservation.time_before_cooldown_line
but for substations. For each substation, it gives the number of timesteps to wait before acting on this substation (see seegrid2op.Parameters.Parameters.NB_TIMESTEP_TOPOLOGY_REMODIF
for more information).- Type
numpy.ndarray
, dtype:int
-
time_before_line_reconnectable
¶ For each powerline, it gives the number of timesteps before the powerline can be reconnected. This only concerns the maintenance, outage (hazards) and disconnection due to cascading failures (including overflow). The same convention as for
BaseObservation.time_before_cooldown_line
andBaseObservation.time_before_cooldown_sub
is adopted: 0 at position i means that the powerline can be reconnected. It there is 2 (for example) it means that the powerline i is unavailable for 2 timesteps (we will be able to re connect it not this time, not next time, but the following timestep)- Type
numpy.ndarray
, dtype:int
-
time_next_maintenance
¶ For each powerline, it gives the time of the next planned maintenance. For example if there is:
1 at position i it means that the powerline i will be disconnected for maintenance operation at the next time step. A
0 at position i means that powerline i is disconnected from the powergrid for maintenance operation at the current time step.
-1 at position i means that powerline i will not be disconnected for maintenance reason for this episode.
- Type
numpy.ndarray
, dtype:int
-
duration_next_maintenance
¶ For each powerline, it gives the number of time step that the maintenance will last (if any). This means that, if at position i of this vector:
there is a 0: the powerline is not disconnected from the grid for maintenance
there is a 1, 2, … the powerline will be disconnected for at least 1, 2, … timestep (NB in all case, the powerline will stay disconnected until a
grid2op.BaseAgent.BaseAgent
performs the propergrid2op.BaseAction.BaseAction
to reconnect it).
- Type
numpy.ndarray
, dtype:int
-
target_dispatch
¶ For each generators, it gives the target redispatching, asked by the agent. This is the sum of all redispatching asked by the agent for during all the episode. It for each generator it is a number between: - pmax and pmax. Note that there is information about all generators there, even the one that are not dispatchable.
- Type
numpy.ndarray
, dtype:float
-
actual_dispatch
¶ For each generators, it gives the redispatching currently implemented by the environment. Indeed, the environment tries to implement at best the
BaseObservation.target_dispatch
, but sometimes, due to physical limitation (pmin, pmax, ramp min and ramp max) it cannot. In this case, only the best possible redispatching is implemented at the current time step, and this is what this vector stores. Note that there is information about all generators there, even the one that are not dispatchable.- Type
numpy.ndarray
, dtype:float
-
__eq__
(other)[source]¶ Test the equality of two actions.
2 actions are said to be identical if the have the same impact on the powergrid. This is unlrelated to their respective class. For example, if an BaseAction is of class
BaseAction
and doesn’t act on the _injection, it can be equal to a an BaseAction of derived classTopologyAction
(if the topological modification are the same of course).This implies that the attributes
BaseAction.authorized_keys
is not checked in this method.Note that if 2 actions doesn’t act on the same powergrid, or on the same backend (eg number of loads, or generators is not the same in self and other, or they are not in the same order) then action will be declared as different.
Known issue if two backend are different, but the description of the _grid are identical (ie all n_gen, n_load, n_line, sub_info, dim_topo, all vectors *_to_subid, and *_pos_topo_vect are identical) then this method will not detect the backend are different, and the action could be declared as identical. For now, this is only a theoretical behaviour: if everything is the same, then probably, up to the naming convention, then the powergrid are identical too.
- Parameters
other (
BaseObservation
) – An instance of class BaseAction to which “self” will be compared.
-
__init__
(gridobj, obs_env=None, action_helper=None, seed=None)[source]¶ Initialize self. See help(type(self)) for accurate signature.
-
bus_connectivity_matrix
()[source]¶ If we denote by nb_bus the total number bus of the powergrid.
The bus_connectivity_matrix will have a size nb_bus, nb_bus and will be made of 0 and 1.
If bus_connectivity_matrix[i,j] = 1 then at least a power line connects bus i and bus j. Otherwise, nothing connects it.
- Returns
res – The bus connectivity matrix
- Return type
numpy.ndarray
, shape:nb_bus,nb_bus dtype:float
-
connectivity_matrix
()[source]¶ Computes and return the “connectivity matrix” con_mat. if “dim_topo = 2 * n_line + n_prod + n_conso” It is a matrix of size dim_topo, dim_topo, with values 0 or 1. For two objects (lines extremity, generator unit, load) i,j :
- if i and j are connected on the same substation:
if conn_mat[i,j] = 0 it means the objects id’ed i and j are not connected to the same bus.
if conn_mat[i,j] = 1 it means the objects id’ed i and j are connected to the same bus, are both end of the same powerline
if i and j are not connected on the same substation then`conn_mat[i,j] = 0` except if i and j are the two extremities of the same power line, in this case conn_mat[i,j] = 1.
By definition, the diagonal is made of 0.
- Returns
res – The connectivity matrix, as defined above
- Return type
numpy.ndarray
, shape:dim_topo,dim_topo, dtype:float
-
copy
()[source]¶ Make a (deep) copy of the observation.
- Returns
res – The deep copy of the observation
- Return type
-
reset
()[source]¶ Reset the
BaseObservation
to a blank state, where everything is set to eitherNone
or to its default value.
-
simulate
(action, time_step=0)[source]¶ This method is used to simulate the effect of an action on a forecasted powergrid state. It has the same return value as the
grid2op.Environment.Environment.step()
function.- Parameters
action (
grid2op.Action.Action
) – The action to simulatetime_step (
int
) – The time step of the forecasted grid to perform the action on. If no forecast are available for this time step, agrid2op.Exceptions.NoForecastAvailable
is thrown.
- Raises
grid2op.Exceptions.NoForecastAvailable – if no forecast are available for the time_step querried.
- Returns
observation (
grid2op.Observation.Observation
) – agent’s observation of the current environmentreward (
float
) – amount of reward returned after previous actiondone (
bool
) – whether the episode has ended, in which case further step() calls will return undefined resultsinfo (
dict
) – contains auxiliary diagnostic information (helpful for debugging, and sometimes learning)
-
state_of
(_sentinel=None, load_id=None, gen_id=None, line_id=None, substation_id=None)[source]¶ Return the state of this action on a give unique load, generator unit, powerline of substation. Only one of load, gen, line or substation should be filled.
The querry of these objects can only be done by id here (ie by giving the integer of the object in the backed). The
ActionSpace
has some utilities to access them by name too.- Parameters
_sentinel (
None
) – Used to prevent positional parameters. Internal, do not use.load_id (
int
) – ID of the load we want to inspectgen_id (
int
) – ID of the generator we want to inspectline_id (
int
) – ID of the powerline we want to inspectsubstation_id (
int
) – ID of the powerline we want to inspect
- Returns
res – A dictionnary with keys and value depending on which object needs to be inspected:
if a load is inspected, then the keys are:
”p” the active value consumed by the load
”q” the reactive value consumed by the load
”v” the voltage magnitude of the bus to which the load is connected
”bus” on which bus the load is connected in the substation
”sub_id” the id of the substation to which the load is connected
if a generator is inspected, then the keys are:
”p” the active value produced by the generator
”q” the reactive value consumed by the generator
”v” the voltage magnitude of the bus to which the generator is connected
”bus” on which bus the generator is connected in the substation
”sub_id” the id of the substation to which the generator is connected
”actual_dispatch” the actual dispatch implemented for this generator
”target_dispatch” the target dispatch (cumulation of all previously asked dispatch by the agent) for this generator
if a powerline is inspected then the keys are “origin” and “extremity” each being dictionnary with keys:
”p” the active flow on line end (extremity or origin)
”q” the reactive flow on line end (extremity or origin)
”v” the voltage magnitude of the bus to which the line end (extremity or origin) is connected
”bus” on which bus the line end (extremity or origin) is connected in the substation
”sub_id” the id of the substation to which the generator is connected
”a” the current flow on the line end (extremity or origin)
In the case of a powerline, additional information are:
”maintenance”: information about the maintenance operation (time of the next maintenance and duration of this next maintenance.
”cooldown_time”: for how many timestep i am not supposed to act on the powerline due to cooldown (see
grid2op.Parameters.Parameters.NB_TIMESTEP_LINE_STATUS_REMODIF
for more information)”indisponibility”: for how many timestep the powerline is unavailable (disconnected, and it’s impossible to reconnect it) due to hazards, maintenance or overflow (incl. cascading failure)
if a substation is inspected, it returns the topology to this substation in a dictionary with keys:
”topo_vect”: the representation of which object is connected where
”nb_bus”: number of active buses in this substations
”cooldown_time”: for how many timestep i am not supposed to act on the substation due to cooldown (see
grid2op.Parameters.Parameters.NB_TIMESTEP_TOPOLOGY_REMODIF
for more information)
- Return type
dict
- Raises
Grid2OpException – If _sentinel is modified, or if None of the arguments are set or alternatively if 2 or more of the parameters are being set.
-
abstractmethod
update
(env)[source]¶ Update the actual instance of BaseObservation with the new received value from the environment.
An observation is a description of the powergrid perceived by an agent. The agent takes his decision based on the current observation and the past rewards.
This method update receive complete detailed information about the powergrid, but that does not mean an agent sees everything. For example, it is possible to derive this class to implement some noise in the generator or load, or flows to mimic sensor inaccuracy.
It is also possible to give fake information about the topology, the line status etc.
In the Grid2Op framework it’s also through the observation that the agent has access to some forecast (the way forecast are handled depends are implemented in this class). For example, forecast data (retrieved thanks to chronics_handler) are processed, but can be processed differently. One can apply load / production forecast to each _grid state, or to make forecast for one “reference” _grid state valid a whole day and update this one only etc. All these different mechanisms can be implemented in Grid2Op framework by overloading the update observation method.
This class is really what a dispatcher observes from it environment. It can also include some temperatures, nebulosity, wind etc. can also be included in this class.
-
-
class
grid2op.Observation.
CompleteObservation
(gridobj, obs_env=None, action_helper=None, seed=None)[source]¶ This class represent a complete observation, where everything on the powergrid can be observed without any noise.
This is the only
BaseObservation
implemented (and used) in Grid2Op. Other type of observation, for other usage can of course be implemented following this example.It has the same attributes as the
BaseObservation
class. Only one is added here.For a
CompleteObservation
the unique representation as a vector is:the year [1 element]
the month [1 element]
the day [1 element]
the day of the week. Monday = 0, Sunday = 6 [1 element]
the hour of the day [1 element]
minute of the hour [1 element]
BaseObservation.prod_p
the active value of the productions [BaseObservation.n_gen
elements]BaseObservation.prod_q
the reactive value of the productions [BaseObservation.n_gen
elements]BaseObservation.prod_q
the voltage setpoint of the productions [BaseObservation.n_gen
elements]BaseObservation.load_p
the active value of the loads [BaseObservation.n_load
elements]BaseObservation.load_q
the reactive value of the loads [BaseObservation.n_load
elements]BaseObservation.load_v
the voltage setpoint of the loads [BaseObservation.n_load
elements]BaseObservation.p_or
active flow at origin of powerlines [BaseObservation.n_line
elements]BaseObservation.q_or
reactive flow at origin of powerlines [BaseObservation.n_line
elements]BaseObservation.v_or
voltage at origin of powerlines [BaseObservation.n_line
elements]BaseObservation.a_or
current flow at origin of powerlines [BaseObservation.n_line
elements]BaseObservation.p_ex
active flow at extremity of powerlines [BaseObservation.n_line
elements]BaseObservation.q_ex
reactive flow at extremity of powerlines [BaseObservation.n_line
elements]BaseObservation.v_ex
voltage at extremity of powerlines [BaseObservation.n_line
elements]BaseObservation.a_ex
current flow at extremity of powerlines [BaseObservation.n_line
elements]BaseObservation.rho
line capacity used (current flow / thermal limit) [BaseObservation.n_line
elements]BaseObservation.line_status
line status [BaseObservation.n_line
elements]BaseObservation.timestep_overflow
number of timestep since the powerline was on overflow (0 if the line is not on overflow)[BaseObservation.n_line
elements]BaseObservation.topo_vect
representation as a vector of the topology [for each element it gives its bus]. Seegrid2op.Backend.Backend.get_topo_vect()
for more information.BaseObservation.time_before_cooldown_line
representation of the cooldown time on the powerlines [BaseObservation.n_line
elements]BaseObservation.time_before_cooldown_sub
representation of the cooldown time on the substations [BaseObservation.n_sub
elements]BaseObservation.time_before_line_reconnectable
number of timestep to wait before a powerline can be reconnected (it is disconnected due to maintenance, cascading failure or overflow) [BaseObservation.n_line
elements]BaseObservation.time_next_maintenance
number of timestep before the next maintenance (-1 means no maintenance are planned, 0 a maintenance is in operation) [BaseObservation.n_line
elements]BaseObservation.duration_next_maintenance
duration of the next maintenance. If a maintenance is taking place, this is the number of timestep before it ends. [BaseObservation.n_line
elements]BaseObservation.target_dispatch
the target dispatch for each generator [BaseObservation.n_gen
elements]BaseObservation.actual_dispatch
the actual dispatch for each generator [BaseObservation.n_gen
elements]
This behavior is specified in the
BaseObservation.attr_list_vect
vector.-
dictionnarized
¶ The representation of the action in a form of a dictionnary. See the definition of
CompleteObservation.to_dict()
for a description of this dictionnary.- Type
dict
-
__init__
(gridobj, obs_env=None, action_helper=None, seed=None)[source]¶ Initialize self. See help(type(self)) for accurate signature.
-
bus_connectivity_matrix
()[source]¶ If we denote by nb_bus the total number bus of the powergrid.
The bus_connectivity_matrix will have a size nb_bus, nb_bus and will be made of 0 and 1.
If bus_connectivity_matrix[i,j] = 1 then at least a power line connects bus i and bus j. Otherwise, nothing connects it.
- Returns
res – The bus connectivity matrix
- Return type
numpy.ndarray
, shape:nb_bus,nb_bus dtype:float
-
connectivity_matrix
()[source]¶ Computes and return the “connectivity matrix” con_mat. if “dim_topo = 2 * n_line + n_prod + n_conso” It is a matrix of size dim_topo, dim_topo, with values 0 or 1. For two objects (lines extremity, generator unit, load) i,j :
- if i and j are connected on the same substation:
if conn_mat[i,j] = 0 it means the objects id’ed i and j are not connected to the same bus.
if conn_mat[i,j] = 1 it means the objects id’ed i and j are connected to the same bus, are both end of the same powerline
if i and j are not connected on the same substation then`conn_mat[i,j] = 0` except if i and j are the two extremities of the same power line, in this case conn_mat[i,j] = 1.
By definition, the diagonal is made of 0.
- Returns
res – The connectivity matrix, as defined above
- Return type
numpy.ndarray
, shape:dim_topo,dim_topo, dtype:float
-
from_vect
(vect)[source]¶ Convert back an observation represented as a vector into a proper observation.
Some convertion are done silently from float to the type of the corresponding observation attribute.
- Parameters
vect (
numpy.ndarray
) – A representation of an BaseObservation in the form of a vector that is used to convert back the current observation to be equal to the vect.
-
update
(env)[source]¶ This use the environement to update properly the BaseObservation.
- Parameters
env (
grid2op.Environment.Environment
) – The environment from which to update this observation.
-
class
grid2op.Observation.
ObsEnv
(backend_instanciated, parameters, reward_helper, obsClass, action_helper, thermal_limit_a, legalActClass, donothing_act, other_rewards={})[source]¶ This class is an ‘Emulator’ of a
grid2op.Environment
used to be able to ‘simulate’ forecasted grid states. It should not be used outside of angrid2op.BaseObservation
instance, or one of its derivative.It contains only the most basic element of an Environment. See
grid2op.Environment
for more details.This class is reserved for internal use. Do not attempt to do anything with it.
-
__init__
(backend_instanciated, parameters, reward_helper, obsClass, action_helper, thermal_limit_a, legalActClass, donothing_act, other_rewards={})[source]¶ Initialize self. See help(type(self)) for accurate signature.
-
copy
()[source]¶ Implement the deep copy of this instance.
- Returns
res – A deep copy of this instance.
- Return type
-
get_obs
()[source]¶ Method to retrieve the “forecasted grid” as a valid observation object.
- Returns
res – The observation available.
- Return type
grid2op.Observation.Observation
-
init
(new_state_action, time_stamp, timestep_overflow)[source]¶ Initialize a “forecasted grid state” based on the new injections, possibly new topological modifications etc.
- Parameters
new_state_action (
grid2op.Action
) – The action that is performed on the powergrid to get the forecast at the current date. This “action” is NOT performed by the user, it’s performed internally by the BaseObservation to have a “forecasted” powergrid with the forecasted values present in the chronics.time_stamp (
datetime.datetime
) – The time stamp of the forecast, as a datetime.datetime object. NB this is not the time stamp at which the forecast is produced, but the time stamp of the powergrid forecasted.timestep_overflow (
numpy.ndarray
) – The seegrid2op.Env.timestep_overflow
for a better description of this argument.
- Returns
- Return type
None
-
init_backend
(init_grid_path, chronics_handler, backend, names_chronics_to_backend, actionClass, observationClass, rewardClass, legalActClass)[source]¶ backend should not be the backend of the environment!!!
- Parameters
init_grid_path –
chronics_handler –
backend –
names_chronics_to_backend –
actionClass –
observationClass –
rewardClass –
legalActClass –
-
simulate
(action)[source]¶ This function is the core method of the
ObsEnv
. It allows to perform a simulation of what would give and action if it were to be implemented on the “forecasted” powergrid.It has the same signature as
grid2op.Environment.Environment.step()
. One of the major difference is that it doesn’t check whether the action is illegal or not (but an implementation could be provided for this method). The reason for this is that there is not one single and unique way to “forecast” how the thermal limit will behave, which lines will be available or not, which actions will be done or not between the time stamp at which “simulate” is called, and the time stamp that is simulated.- Parameters
action (
grid2op.Action.Action
) – The action to test- Returns
observation (
grid2op.Observation.Observation
) – agent’s observation of the current environmentreward (
float
) – amount of reward returned after previous actiondone (
bool
) – whether the episode has ended, in which case further step() calls will return undefined resultsinfo (
dict
) – contains auxiliary diagnostic information (helpful for debugging, and sometimes learning). It is a dictionnary with keys:- ”disc_lines”: a numpy array (or
None
) saying, for each powerline if it has been disconnected due to overflow
- ”disc_lines”: a numpy array (or
”is_illegal” (
bool
) whether the action given as input was illegal”is_ambiguous” (
bool
) whether the action given as input was ambiguous.
-
-
class
grid2op.Observation.
ObservationSpace
(gridobj, env, rewardClass=None, observationClass=<class 'grid2op.Observation.CompleteObservation.CompleteObservation'>)[source]¶ Helper that provides usefull functions to manipulate
BaseObservation
.BaseObservation should only be built using this Helper. It is absolutely not recommended to make an observation directly form its constructor.
This class represents the same concept as the “BaseObservation Space” in the OpenAI gym framework.
-
observationClass
¶ Class used to build the observations. It defaults to
CompleteObservation
- Type
type
-
_empty_obs
¶ An empty observation with the proper dimensions.
- Type
BaseObservation.BaseObservation
-
parameters
¶ Type of Parameters used to compute powerflow for the forecast.
-
rewardClass
¶ Class used by the
grid2op.Environment.Environment
to send information about its state to thegrid2op.BaseAgent.BaseAgent
. You can change this class to differentiate between the reward of output ofBaseObservation.simulate()
and the reward used to train the BaseAgent.- Type
type
-
action_helper_env
¶ BaseAction space used to create action during the
BaseObservation.simulate()
-
reward_helper
¶ BaseReward function used by the the
BaseObservation.simulate()
function.- Type
grid2op.Reward.HelperReward
-
obs_env
¶ Instance of the environenment used by the BaseObservation Helper to provide forcecast of the grid state.
- Type
-
_empty_obs
¶ An instance of the observation that is updated and will be sent to he BaseAgent.
- Type
-
-
class
grid2op.Observation.
SerializableObservationSpace
(gridobj, observationClass=<class 'grid2op.Observation.CompleteObservation.CompleteObservation'>)[source]¶ This class allows to serialize / de serialize the action space.
It should not be used inside an Environment, as some functions of the action might not be compatible with the serialization, especially the checking of whether or not an BaseObservation is legal or not.
-
observationClass
¶ Type used to build the
SerializableActionSpace._template_act
- Type
type
-
_empty_obs
¶ An instance of the “observationClass” provided used to provide higher level utilities
- Type
-
__init__
(gridobj, observationClass=<class 'grid2op.Observation.CompleteObservation.CompleteObservation'>)[source]¶ - Parameters
gridobj (
grid2op.Space.GridObjects
) – Representation of the objects in the powergrid.observationClass (
type
) – Type of action used to buildSpace.SerializableSpace._template_obj
-
staticmethod
from_dict
(dict_)[source]¶ Allows the de-serialization of an object stored as a dictionnary (for example in the case of json saving).
- Parameters
dict (
dict
) – Representation of an BaseObservation Space (aka SerializableObservationSpace) as a dictionnary.- Returns
res – An instance of an action space matching the dictionnary.
- Return type
:class:
SerializableObservationSpace
-
If you still can’t find what you’re looking for, try in one of the following pages: