Here it is possible to define new architectures.
Each architecture must be contained in a specific directory called with the [architecture name].
Each directory must be structered ad follows:
├───[architecture name]
├───G1.py
├───G2.py
└───D.py
G1.py, G2.py, D.py, extend the Model_Template.py. In particular, Model_Template defines the abstract methods to be implemented in the extended classes.
In addition, each extended class (G1.py, G2.py, D.py,), must call the super_class custructor.
In fact, this method will invocke the build_model and optimizer methods.
To use the architecture in the framework, simply enter the [architecture name] in the ARCHITECTURE variable.
As examples you can consider the ./bibranch, ./mono architectures.