LeapNetEncoded: D3QN on a state encoded by a leap net
TODO reference the original papers ESANN Paper Leap Net
That has now be implemented as a github repository Leap Net Github
Description
The Leap is a type of neural network that has showed really good performances on the predictions of flows on powerlines based on the injection and the topology.
In this baseline, we use this very same architecture to model encode the powergrid state (at a given step).
Then this embedding of the powergrid is used by a neural network (that can be a regular network or a leap net) that parametrized the Q function.
An example to train this model is available in the train function Example-leapnetenc.
Warning
This baseline recodes entire the RL training procedure. You can use it if you want to have a deeper look at Deep Q Learning algorithm and a possible (non optimized, slow, etc. implementation ).
For a much better implementation, you can reuse the code of l2rpn_baselines.PPO_RLLIB
or the l2rpn_baselines.PPO_SB3
baseline.
Exported class
You can use this class with:
from l2rpn_baselines.LeapNetEncoded import train, evaluate, LeapNetEncoded
Other non exported class
These classes need to be imported, if you want to import them with (non exhaustive list):
from l2rpn_baselines.LeapNetEncoded.leapNetEncoded_NN import LeapNetEncoded_NN
from l2rpn_baselines.LeapNetEncoded.leapNetEncoded_NNParam import LeapNetEncoded_NNParam