- Type-hint for every variables in constructor.
REQUIRED_CONFIG_KEYS: Dict[str, Any]
is required for every non-abstract classes where the values are the exact copy of the constructor parameters. It is needed to populate theConfig
for missing values with default values.REQUIRED_*: Dict[str, str]
is required for every keys inREQUIRED_CONFIG_KEYS
whose values will be non-JSON datatype i.e.algo
,model
, andbuffer
. The key ofREQUIRED_*
should be registered inREGISTERED_*
and the corresponding value is the key inREQUIRED_CONFIG_KEYS
that will become the parameters to construct the non-JSON datatype.- Import should start from
src
e.g.from src.buffer.buffer import Buffer
. - Each non-abstract class have
@staticmethod validate_params
method to be called by@classmethod instantiate_*
on the base class to validate parameters passed. - After creating non-abstract class, dont forget to register on the module's
__init__.py
.
-
GrBAL
(original, nested, and first-order) -
FAMLE
-
MAML + On-Policy RL
-
ReBAL
- Add
mpc_controller
module. It will not be aclass
, butCallable
. Style follows other modules e.g.buffer
module. Parameters should be all the same since all MPC share common structures i.e. model, time-horizon, reward, etc. - Complete
config.py
- Complete
run.py
. - Add
device
option. - Create
Logger
on utils. - Create
Renderer
on utils. - (Optional) Add Data-Parallel capabilities.