def __init__(self, vocab_size, embed_dim, embed_init, max_nsent, max_npara, experiment, *args, **kwargs): super(quantize_pos_model, self).__init__(vocab_size, embed_dim, embed_init, experiment) if self.expe.config.encoder_type.lower() == "lstm" or \ self.expe.config.encoder_type.lower() == "gru": ensize = 2 * self.expe.config.ensize else: ensize = embed_dim self.sent_id_pred = model_utils.get_mlp( input_size=ensize, hidden_size=self.expe.config.mhsize, output_size=self.expe.config.nb, n_layer=self.expe.config.mlplayer, dropout=self.expe.config.dp) self.para_id_pred = model_utils.get_mlp( input_size=ensize, hidden_size=self.expe.config.mhsize, output_size=self.expe.config.nb, n_layer=self.expe.config.mlplayer, dropout=self.expe.config.dp) self.bins = np.arange(self.expe.config.nb) / self.expe.config.nb
def __init__(self, vocab_size, embed_dim, embed_init, max_nsent, max_npara, max_nlv, doc_title_vocab_size, sec_title_vocab_size, experiment, *args, **kwargs): super(quantize_pos_regression_model, self).__init__(vocab_size, embed_dim, embed_init, experiment) if self.expe.config.encoder_type.lower() in [ "lstm", "gru", "gru_attn" ]: ensize = 2 * self.expe.config.ensize else: ensize = embed_dim self.sent_id_pred = model_utils.get_mlp( input_size=ensize, hidden_size=self.expe.config.mhsize, output_size=1, n_layer=self.expe.config.mlplayer, dropout=self.expe.config.dp) self.para_id_pred = model_utils.get_mlp( input_size=ensize, hidden_size=self.expe.config.mhsize, output_size=1, n_layer=self.expe.config.mlplayer, dropout=self.expe.config.dp) self.lv_pred = model_utils.get_mlp(input_size=ensize, hidden_size=self.expe.config.mhsize, output_size=max_nlv, n_layer=self.expe.config.mlplayer, dropout=self.expe.config.dp) self.doc_title_decode = decoders.bag_of_words( input_size=ensize, mlp_hidden_size=self.expe.config.mhsize, mlp_layer=self.expe.config.mlplayer, hidden_size=self.expe.config.desize, dropout=self.expe.config.dp, embed_dim=embed_dim, tie_weight=self.expe.config.tw, word_dropout=self.expe.config.wd, embed_init=embed_init, vocab_size=doc_title_vocab_size, log=experiment.log) self.sec_title_decode = decoders.bag_of_words( input_size=ensize, mlp_hidden_size=self.expe.config.mhsize, mlp_layer=self.expe.config.mlplayer, hidden_size=self.expe.config.desize, dropout=self.expe.config.dp, embed_dim=embed_dim, tie_weight=self.expe.config.tw, word_dropout=self.expe.config.wd, embed_init=embed_init, vocab_size=sec_title_vocab_size, log=experiment.log) self.bins = np.arange(self.expe.config.nb) / self.expe.config.nb
def __init__(self, vocab_size, input_size, mlp_hidden_size, mlp_layer, hidden_size, embed_dim, dropout, tie_weight, word_dropout, log, embed_init, *args, **kwargs): super(bag_of_words, self).__init__() self.func = model_utils.get_mlp(input_size, mlp_hidden_size, hidden_size, mlp_layer, dropout) self.hid2vocab = nn.Linear(hidden_size, vocab_size)
def __init__(self, ysize, zsize, vocab_size, mlp_hidden_size, mlp_layer, hidden_size, dropout, *args, **kwargs): super(lstm, self).__init__() self.cell = nn.LSTM(zsize, hidden_size, bidirectional=False, batch_first=True) self.hid2vocab = model_utils.get_mlp(hidden_size + ysize, hidden_size, vocab_size, mlp_layer, dropout)
def __init__(self, vocab_size, embed_dim, embed_init, hidden_size, dropout, nclass, ncode, mlp_hidden_size, mlp_layer, log, *args, **kwargs): super(bilstm_lc, self).__init__(vocab_size, embed_dim, embed_init, dropout, log) self.lstm = nn.LSTM(embed_dim // ncode * ncode, hidden_size, bidirectional=True, batch_first=True) self.lc = nn.ModuleList([ model_utils.get_mlp(embed_dim, hidden_size, nclass, mlp_layer, dropout) for _ in range(ncode) ]) self.lc_embed = nn.ModuleList( [nn.Embedding(nclass, embed_dim // ncode) for _ in range(ncode)])
def __init__(self, vocab_size, input_size, mlp_hidden_size, mlp_layer, hidden_size, embed_dim, dropout, tie_weight, word_dropout, log, embed_init, *args, **kwargs): super(lstm, self).__init__(vocab_size, input_size, mlp_hidden_size, mlp_layer, hidden_size, embed_dim, dropout, tie_weight, word_dropout, log, embed_init, *args, **kwargs) self.latent2hid = model_utils.get_mlp(input_size, mlp_hidden_size, hidden_size * 2, mlp_layer, dropout) self.cell = nn.LSTM(embed_dim, hidden_size, bidirectional=False, batch_first=True)
def __init__(self, vocab_size, input_size, mlp_hidden_size, mlp_layer, hidden_size, embed_dim, dropout, tie_weight, word_dropout, log, embed_init, *args, **kwargs): super(gru_cat, self).__init__(vocab_size, input_size, mlp_hidden_size, mlp_layer, hidden_size, embed_dim, dropout, tie_weight, word_dropout, log, embed_init, *args, **kwargs) self.latent2hid = model_utils.get_mlp(input_size, mlp_hidden_size, hidden_size, mlp_layer, dropout) self.cell = nn.GRU(embed_dim + input_size, hidden_size, bidirectional=False, batch_first=True) if not tie_weight: self.hid2vocab = nn.Linear(hidden_size, vocab_size)
def __init__(self, vocab_size, embed_dim, embed_init, experiment): super(vgvae, self).__init__(vocab_size, embed_dim, embed_init, experiment) self.yencode = getattr(encoders, self.expe.config.yencoder_type)( embed_dim=embed_dim, embed_init=embed_init, hidden_size=self.expe.config.ensize, vocab_size=vocab_size, dropout=self.expe.config.dp, log=experiment.log) self.zencode = getattr(encoders, self.expe.config.zencoder_type)( embed_dim=embed_dim, embed_init=embed_init, hidden_size=self.expe.config.ensize, vocab_size=vocab_size, dropout=self.expe.config.dp, mlp_hidden_size=self.expe.config.mhsize, mlp_layer=self.expe.config.mlplayer, ncode=self.expe.config.ncode, nclass=self.expe.config.nclass, log=experiment.log) if "lstm" in self.expe.config.yencoder_type.lower(): y_out_size = 2 * self.expe.config.ensize elif self.expe.config.yencoder_type.lower() == "word_avg": y_out_size = embed_dim if "lstm" in self.expe.config.zencoder_type.lower(): z_out_size = 2 * self.expe.config.ensize elif self.expe.config.zencoder_type.lower() == "word_avg": z_out_size = embed_dim self.mean1 = model_utils.get_mlp(input_size=y_out_size, hidden_size=self.expe.config.mhsize, output_size=self.expe.config.ysize, n_layer=self.expe.config.ymlplayer, dropout=self.expe.config.dp) self.logvar1 = model_utils.get_mlp(input_size=y_out_size, hidden_size=self.expe.config.mhsize, output_size=1, n_layer=self.expe.config.ymlplayer, dropout=self.expe.config.dp) self.mean2 = model_utils.get_mlp(input_size=z_out_size, hidden_size=self.expe.config.mhsize, output_size=self.expe.config.zsize, n_layer=self.expe.config.zmlplayer, dropout=self.expe.config.dp) self.logvar2 = model_utils.get_mlp(input_size=z_out_size, hidden_size=self.expe.config.mhsize, output_size=self.expe.config.zsize, n_layer=self.expe.config.zmlplayer, dropout=self.expe.config.dp) self.decode = getattr(decoders, self.expe.config.decoder_type)( embed_init=embed_init, embed_dim=embed_dim, ysize=self.expe.config.ysize, zsize=self.expe.config.zsize, mlp_hidden_size=self.expe.config.mhsize, mlp_layer=self.expe.config.mlplayer, hidden_size=self.expe.config.desize, dropout=self.expe.config.dp, vocab_size=vocab_size, log=experiment.log) if "lc" in self.expe.config.zencoder_type.lower(): enc_embed_dim = embed_dim // self.expe.config.ncode *\ self.expe.config.ncode else: enc_embed_dim = embed_dim self.enc_pos_decode = model_utils.get_mlp( input_size=self.expe.config.zsize + enc_embed_dim, hidden_size=self.expe.config.mhsize, n_layer=self.expe.config.mlplayer, output_size=MAX_LEN, dropout=self.expe.config.dp) self.dec_pos_decode = model_utils.get_mlp( input_size=self.expe.config.zsize + embed_dim, hidden_size=self.expe.config.mhsize, n_layer=self.expe.config.mlplayer, output_size=MAX_LEN, dropout=self.expe.config.dp)
def __init__(self, vocab_size, embed_dim, embed_init, experiment): super(base, self).__init__() self.expe = experiment self.eps = self.expe.config.eps self.margin = self.expe.config.m self.use_cuda = self.expe.config.use_cuda self.yencode = getattr(encoders, self.expe.config.yencoder_type)( embed_dim=embed_dim, embed_init=embed_init, hidden_size=self.expe.config.ensize, vocab_size=vocab_size, log=experiment.log) self.zencode = getattr(encoders, self.expe.config.zencoder_type)( embed_dim=embed_dim, embed_init=embed_init, hidden_size=self.expe.config.ensize, vocab_size=vocab_size, log=experiment.log) if "lstm" in self.expe.config.yencoder_type.lower(): y_out_size = 2 * self.expe.config.ensize elif self.expe.config.yencoder_type.lower() == "word_avg": y_out_size = embed_dim elif self.expe.config.yencoder_type.lower() == "bert": y_out_size = embed_dim if "lstm" in self.expe.config.zencoder_type.lower(): z_out_size = 2 * self.expe.config.ensize elif self.expe.config.zencoder_type.lower() == "word_avg": z_out_size = embed_dim elif self.expe.config.zencoder_type.lower() == "bert": z_out_size = embed_dim self.mean1 = model_utils.get_mlp(input_size=y_out_size, hidden_size=self.expe.config.mhsize, output_size=self.expe.config.ysize, n_layer=self.expe.config.ymlplayer, dropout=self.expe.config.dp) self.logvar1 = model_utils.get_mlp(input_size=y_out_size, hidden_size=self.expe.config.mhsize, output_size=1, n_layer=self.expe.config.ymlplayer, dropout=self.expe.config.dp) self.mean2 = model_utils.get_mlp(input_size=z_out_size, hidden_size=self.expe.config.mhsize, output_size=self.expe.config.zsize, n_layer=self.expe.config.zmlplayer, dropout=self.expe.config.dp) self.logvar2 = model_utils.get_mlp(input_size=z_out_size, hidden_size=self.expe.config.mhsize, output_size=self.expe.config.zsize, n_layer=self.expe.config.zmlplayer, dropout=self.expe.config.dp) if self.expe.config.zencoder_type.lower() == "word_avg": assert self.expe.config.decoder_type.lower() == "bag_of_words" self.decode = getattr(decoders, self.expe.config.decoder_type)( ysize=self.expe.config.ysize, zsize=self.expe.config.zsize, mlp_hidden_size=self.expe.config.mhsize, mlp_layer=self.expe.config.mlplayer, hidden_size=self.expe.config.desize, dropout=self.expe.config.dp, vocab_size=vocab_size) self.pos_decode = model_utils.get_mlp( input_size=self.expe.config.zsize + embed_dim, hidden_size=self.expe.config.mhsize, n_layer=self.expe.config.mlplayer, output_size=MAX_LEN, dropout=self.expe.config.dp)
def __init__(self, ysize, zsize, mlp_layer, hidden_size, vocab_size, dropout, *args, **kwargs): super(bag_of_words, self).__init__() self.hid2vocab = model_utils.get_mlp(ysize + zsize, hidden_size, vocab_size, mlp_layer, dropout)