class Config(NewDocModel.Config): class RegressionModelInput(Model.Config.ModelInput): tokens: TokenTensorizer.Config = TokenTensorizer.Config() labels: NumericLabelTensorizer.Config = NumericLabelTensorizer.Config() inputs: RegressionModelInput = RegressionModelInput() output_layer: RegressionOutputLayer.Config = RegressionOutputLayer.Config()
def from_config(cls, config: Config, tensorizers: Dict[str, Tensorizer]): embedding = cls.create_embedding(config, tensorizers) representation = create_module(config.representation, embed_dim=embedding.embedding_dim) decoder = create_module(config.decoder, in_dim=representation.representation_dim, out_dim=1) output_layer = RegressionOutputLayer.from_config(config.output_layer) return cls(embedding, representation, decoder, output_layer)
class Config(NewBertModel.Config): class InputConfig(ConfigBase): tokens: BERTTensorizer.Config = BERTTensorizer.Config( columns=["text1", "text2"], max_seq_len=128 ) labels: NumericLabelTensorizer.Config = NumericLabelTensorizer.Config() inputs: InputConfig = InputConfig() output_layer: RegressionOutputLayer.Config = RegressionOutputLayer.Config()
def from_config(cls, config: Config, tensorizers: Dict[str, Tensorizer]): vocab = tensorizers["tokens"].vocab encoder = create_module( config.encoder, padding_idx=vocab.get_pad_index(), vocab_size=vocab.__len__(), ) decoder = create_module( config.decoder, in_dim=encoder.representation_dim, out_dim=1 ) output_layer = RegressionOutputLayer.from_config(config.output_layer) return cls(encoder, decoder, output_layer)