Example #1
0
 def __init__(self, config):
     super(XLNetForXMLC, self).__init__(config)
     self.num_labels = config.num_labels
     self.transformer = XLNetModel(config)
     self.sequence_summary = SequenceSummary(config)
     self.logits_proj = nn.Linear(config.d_model, config.num_labels)
     self.init_weights()
Example #2
0
    def __init__(self, config):

        super(XlnetForMultiLable, self).__init__(config)
        self.transformer = XLNetModel(config)
        self.sequence_summary = SequenceSummary(config)
        self.classifier = nn.Linear(config.hidden_size, config.num_labels)
        self.apply(self._init_weights)
Example #3
0
    def __init__(self, config):
        super().__init__(config)
        self.attn_type = config.attn_type
        self.same_length = config.same_length

        self.transformer = XLNetModel(config)
        self.lm_loss = nn.Linear(config.d_model, config.n_token, bias=True)
        self.init_weights()
        self.tie_weights()
Example #4
0
    def __init__(self, config, weight=None):
        super(XLNetForSequenceClassification, self).__init__(config)
        self.num_labels = config.num_labels
        self.weight = weight

        self.transformer = XLNetModel(config)
        self.sequence_summary = SequenceSummary(config)
        self.logits_proj = nn.Linear(config.d_model, config.num_labels)

        self.init_weights()
Example #5
0
    def __init__(self, config):
        super(XLNetForXMLC, self).__init__(config)
        self.num_labels = config.num_labels

        self.transformer = XLNetModel(config)
        self.sequence_summary = SequenceSummary(config)
        self.logits_proj = nn.Linear(config.d_model, config.num_labels)
        self.loss_fct = HingeLoss(margin=1.0, squared=True)

        self.init_weights()
Example #6
0
    def __init__(self, config):
        super(XLNetCalculator, self).__init__(config)
        self.start_n_top = config.start_n_top
        self.end_n_top = config.end_n_top

        self.transformer = XLNetModel(config)
        self.start_logits = PoolerStartLogits(config)
        self.end_logits = PoolerEndLogits(config)
        self.answer_class = PoolerAnswerMode(config, num_mode=5)

        self.init_weights()
Example #7
0
    def __init__(self, cfg):
        super(DSB_XLNetModel, self).__init__()
        self.cfg = cfg
        cate_col_size = len(cfg.cate_cols)
        cont_col_size = len(cfg.cont_cols)
        self.cate_emb = nn.Embedding(cfg.total_cate_size,
                                     cfg.emb_size,
                                     padding_idx=0)
        self.cate_proj = nn.Sequential(
            nn.Linear(cfg.emb_size * cate_col_size, cfg.hidden_size // 2),
            nn.LayerNorm(cfg.hidden_size // 2),
        )
        self.cont_emb = nn.Sequential(
            nn.Linear(cont_col_size, cfg.hidden_size // 2),
            nn.LayerNorm(cfg.hidden_size // 2),
        )
        self.config = XLNetConfig(
            3,  # not used            
            d_model=cfg.hidden_size,
            n_layer=cfg.nlayers,
            n_head=cfg.nheads,
            d_inner=cfg.hidden_size,
            #ff_activation="gelu",
            #untie_r=True,
            #attn_type="bi",
            #initializer_range=0.02,
            #layer_norm_eps=1e-12,
            dropout=cfg.dropout,
            #mem_len=None,
            #reuse_len=None,
            #bi_data=False,
            #clamp_len=-1,
            #same_length=False,
            #summary_type="last",
            #summary_use_proj=True,
            #summary_activation="tanh",
            summary_last_dropout=cfg.dropout,
            #start_n_top=5,
            #end_n_top=5,
        )

        self.encoder = XLNetModel(self.config)

        def get_reg():
            return nn.Sequential(
                nn.Linear(cfg.hidden_size, cfg.hidden_size),
                nn.LayerNorm(cfg.hidden_size),
                nn.Dropout(cfg.dropout),
                nn.ReLU(),
                nn.Linear(cfg.hidden_size, cfg.target_size),
            )

        self.reg_layer = get_reg()
Example #8
0
    def __init__(self, config, lambd, mean_pool=False):
        super().__init__(config)
        self.num_labels = config.num_labels

        self.transformer = XLNetModel(config)
        self.sequence_summary = SequenceSummary(config)
        self.logits_proj = nn.Linear(config.d_model, config.num_labels)

        self.lambd = lambd
        print("Gradient reversal Prarameter is: {}".format(self.lambd))
        self.grl = GradientReversal(self.lambd)
        self.domain_classifier = nn.Linear(config.hidden_size, 2)

        self.init_weights()