def __init__(self, update, dict_size, hidden_dim, num_neg_sample, sep_embed): super().__init__(HingeLoss(), update, dict_size, hidden_dim) self.num_neg_sample = num_neg_sample self.neg_sample = self.input() if sep_embed: self.sample_embed = self.param_of([dict_size, hidden_dim], Xavier()) else: self.sample_embed = self.embed self.resetNum = len(self.nodes)
def __init__(self, loss, update, dict_size, hidden_dim): super().__init__(loss, update) self.dict_size = dict_size self.hidden_dim = hidden_dim self.h0 = self.input() self.c0 = self.input() self.embed = self.param_of([dict_size, hidden_dim], Xavier()) self.wf = self.param_of([2 * hidden_dim, hidden_dim], Xavier()) self.bf = self.param_of([hidden_dim], Zero()) self.wi = self.param_of([2 * hidden_dim, hidden_dim], Xavier()) self.bi = self.param_of([hidden_dim], Zero()) self.wc = self.param_of([2 * hidden_dim, hidden_dim], Xavier()) self.bc = self.param_of([hidden_dim], Zero()) self.wo = self.param_of([2 * hidden_dim, hidden_dim], Xavier()) self.bo = self.param_of([hidden_dim], Zero()) self.v2c = self.param_of([hidden_dim, dict_size], Xavier()) self.resetNum = len(self.nodes)
def __init__(self, loss, update, enc_dict_size, dec_dict_size, hidden_dim, num_line): super().__init__(loss, update) half_dim = int(hidden_dim / 2) self.enc_dict_size = enc_dict_size self.dec_dict_size = dec_dict_size self.hidden_dim = hidden_dim self.half_dim = half_dim self.num_line = num_line self.feh0 = self.input() self.fec0 = self.input() self.beh0 = self.input() self.bec0 = self.input() self.feembed = self.param_of([enc_dict_size, half_dim], Xavier()) self.fewf = self.param_of([2 * half_dim, half_dim], Xavier()) self.febf = self.param_of([half_dim], Zero()) self.fewi = self.param_of([2 * half_dim, half_dim], Xavier()) self.febi = self.param_of([half_dim], Zero()) self.fewc = self.param_of([2 * half_dim, half_dim], Xavier()) self.febc = self.param_of([half_dim], Zero()) self.fewo = self.param_of([2 * half_dim, half_dim], Xavier()) self.febo = self.param_of([half_dim], Zero()) self.fev2c = self.param_of([half_dim, enc_dict_size], Xavier()) self.beembed = self.param_of([enc_dict_size, half_dim], Xavier()) self.bewf = self.param_of([2 * half_dim, half_dim], Xavier()) self.bebf = self.param_of([half_dim], Zero()) self.bewi = self.param_of([2 * half_dim, half_dim], Xavier()) self.bebi = self.param_of([half_dim], Zero()) self.bewc = self.param_of([2 * half_dim, half_dim], Xavier()) self.bebc = self.param_of([half_dim], Zero()) self.bewo = self.param_of([2 * half_dim, half_dim], Xavier()) self.bebo = self.param_of([half_dim], Zero()) self.bev2c = self.param_of([half_dim, enc_dict_size], Xavier()) self.dembed = self.param_of([dec_dict_size, hidden_dim], Xavier()) self.dwf = self.param_of([2 * hidden_dim, hidden_dim], Xavier()) self.dbf = self.param_of([hidden_dim], Zero()) self.dwi = self.param_of([2 * hidden_dim, hidden_dim], Xavier()) self.dbi = self.param_of([hidden_dim], Zero()) self.dwc = self.param_of([2 * hidden_dim, hidden_dim], Xavier()) self.dbc = self.param_of([hidden_dim], Zero()) self.dwo = self.param_of([2 * hidden_dim, hidden_dim], Xavier()) self.dbo = self.param_of([hidden_dim], Zero()) self.dv2c = self.param_of([hidden_dim, dec_dict_size], Xavier()) self.resetNum = len(self.nodes)
def param_of(self, shape, init=Xavier()): param = Param(self) param.value = init.apply(shape) self.params.append(param) return param
def __init__(self, loss, update, enc_dict_size, dec_dict_size, hidden_dim): super().__init__(loss, update) self.enc_dict_size = enc_dict_size self.dec_dict_size = dec_dict_size self.hidden_dim = hidden_dim self.h0 = self.input() self.c0 = self.input() self.eembed = self.param_of([enc_dict_size, hidden_dim], Xavier()) self.ewf = self.param_of([2 * hidden_dim, hidden_dim], Xavier()) self.ebf = self.param_of([hidden_dim], Zero()) self.ewi = self.param_of([2 * hidden_dim, hidden_dim], Xavier()) self.ebi = self.param_of([hidden_dim], Zero()) self.ewc = self.param_of([2 * hidden_dim, hidden_dim], Xavier()) self.ebc = self.param_of([hidden_dim], Zero()) self.ewo = self.param_of([2 * hidden_dim, hidden_dim], Xavier()) self.ebo = self.param_of([hidden_dim], Zero()) self.ev2c = self.param_of([hidden_dim, enc_dict_size], Xavier()) self.dembed = self.param_of([dec_dict_size, hidden_dim], Xavier()) self.dwf = self.param_of([2 * hidden_dim, hidden_dim], Xavier()) self.dbf = self.param_of([hidden_dim], Zero()) self.dwi = self.param_of([2 * hidden_dim, hidden_dim], Xavier()) self.dbi = self.param_of([hidden_dim], Zero()) self.dwc = self.param_of([2 * hidden_dim, hidden_dim], Xavier()) self.dbc = self.param_of([hidden_dim], Zero()) self.dwo = self.param_of([2 * hidden_dim, hidden_dim], Xavier()) self.dbo = self.param_of([hidden_dim], Zero()) self.dv2c = self.param_of([hidden_dim, dec_dict_size], Xavier()) self.resetNum = len(self.nodes)