I've rewritten the torchscale.architecture.config module to use inheritance and remove the redundant code. There are now 3 classes:
Config - that holds all common options
EncoderConfig - inherits 'Config' and holds Encoder specific options
DecoderConfig - inherits 'Config' and holds Decoder specific options
EncoderDecoderConfig - inherits EncoderConfig and DecoderConfig and holds that one option shared by Encoder and Decoder objects.
I also took the liberty to add some type hints for args parameters in encoder/decoder modules.
I've rewritten the
torchscale.architecture.config
module to use inheritance and remove the redundant code. There are now 3 classes:Config
- that holds all common optionsEncoderConfig
- inherits 'Config' and holds Encoder specific optionsDecoderConfig
- inherits 'Config' and holds Decoder specific optionsEncoderDecoderConfig
- inheritsEncoderConfig
andDecoderConfig
and holds that one option shared by Encoder and Decoder objects.I also took the liberty to add some type hints for
args
parameters in encoder/decoder modules.