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