def __init__(self, n_in, n_hidden): self.n_in = int(n_in) self.n_hidden = int(n_hidden) self.input = T.tensor3() self.W_hh = glorot_uniform((n_hidden, n_hidden)) self.W_in = glorot_uniform((n_in, n_hidden)) self.bh = zero((n_hidden, )) self.params = [self.W_hh, self.W_in, self.bh] self.L1 = T.sum(abs(self.W_hh)) + T.sum(abs(self.W_in)) self.L2_sqr = T.sum(self.W_hh**2) + T.sum(self.W_in**2)
def __init__(self, n_in, n_hidden, n_decoder, n_out, lr=0.001, n_epochs=400, n_batch=16, maxlen=20, L1_reg=0, L2_reg=0): self.n_in = int(n_in) self.n_hidden = int(n_hidden) self.n_decoder = int(n_decoder) self.n_out = int(n_out) self.lr = float(lr) self.n_batch = int(n_batch) self.maxlen = int(maxlen) self.x = T.tensor3(name='x', dtype=theano.config.floatX) self.y = T.tensor3(name='y', dtype=theano.config.floatX) self.W_hy = glorot_uniform((self.n_decoder, self.n_out)) self.b_hy = zero((n_out, )) self.W_hi = glorot_uniform((self.n_hidden, self.n_decoder)) self.b_hi = zero((n_decoder, )) self.layers = [] self.decoder = [] self.params = [] self.errors = [] self.n_epochs = n_epochs self.initial_momentum = 0.5 self.final_momentum = 0.9 self.momentum_switchover = 5 self.learning_rate_decay = 0.999 self.updates = {} self.n_layers = 0 self.L1_reg = L1_reg self.L2_reg = L2_reg self.L1 = 0 self.L2_sqr = 0
def __init__(self,n_in,n_hidden): self.n_in=int(n_in) self.n_hidden=int(n_hidden) self.input= T.tensor3() self.W_hh=glorot_uniform((n_hidden,n_hidden)) self.W_in=glorot_uniform((n_in,n_hidden)) self.bh=zero((n_hidden,)) self.params=[self.W_hh,self.W_in,self.bh] self.L1 = T.sum(abs(self.W_hh))+T.sum(abs(self.W_in)) self.L2_sqr = T.sum(self.W_hh**2) + T.sum(self.W_in**2)
def __init__(self,n_in,n_hidden,n_out,lr=0.001,n_epochs=400,L1_reg=0,L2_reg=0): self.n_in=int(n_in) self.n_hidden=int(n_hidden) self.n_out=int(n_out) self.lr=float(lr) self.x = T.matrix(name = 'x', dtype = theano.config.floatX) self.layers = [] self.params=[] self.errors=[] self.n_epochs=n_epochs self.W_hy = glorot_uniform((self.n_hidden,self.n_out)) self.b_hy = zero((self.n_out,)) self.initial_momentum=0.5 self.final_momentum=0.9 self.momentum_switchover=5 self.learning_rate_decay=0.999 self.updates = {} self.n_layers=0 self.L1_reg=L1_reg self.L2_reg=L2_reg self.L1= 0 self.L2_sqr= 0
def __init__(self,n_in,n_hidden): self.n_in=int(n_in) self.n_hidden=int(n_hidden) self.input= T.tensor3() self.W_z = glorot_uniform((n_in,n_hidden)) self.U_z = glorot_uniform((n_hidden,n_hidden)) self.b_z = zero((n_hidden,)) self.W_r = glorot_uniform((n_in,n_hidden)) self.U_r = glorot_uniform((n_hidden,n_hidden)) self.b_r = zero((n_hidden,)) self.W_h = glorot_uniform((n_in,n_hidden)) self.U_h = glorot_uniform((n_hidden,n_hidden)) self.b_h = zero((n_hidden,)) self.params = [ self.W_z, self.U_z, self.b_z, self.W_r, self.U_r, self.b_r, self.W_h, self.U_h, self.b_h, ] self.L1 = T.sum(abs(self.W_z))+T.sum(abs(self.U_z))+\ T.sum(abs(self.W_r))+T.sum(abs(self.U_r))+\ T.sum(abs(self.W_h))+T.sum(abs(self.U_h)) self.L2_sqr = T.sum(self.W_z**2) + T.sum(self.U_z**2)+\ T.sum(self.W_r**2) + T.sum(self.U_r**2)+\ T.sum(self.W_h**2) + T.sum(self.U_h**2)
def __init__(self, n_in, n_hidden): self.n_in = int(n_in) self.n_hidden = int(n_hidden) self.input = T.tensor3() self.W_i = glorot_uniform((n_in, n_hidden)) self.U_i = glorot_uniform((n_hidden, n_hidden)) self.b_i = zero((n_hidden, )) self.W_f = glorot_uniform((n_in, n_hidden)) self.U_f = glorot_uniform((n_hidden, n_hidden)) self.b_f = zero((n_hidden, )) self.W_c = glorot_uniform((n_in, n_hidden)) self.U_c = glorot_uniform((n_hidden, n_hidden)) self.b_c = zero((n_hidden, )) self.W_o = glorot_uniform((n_in, n_hidden)) self.U_o = glorot_uniform((n_hidden, n_hidden)) self.b_o = zero((n_hidden, )) self.params = [ self.W_i, self.U_i, self.b_i, self.W_c, self.U_c, self.b_c, self.W_f, self.U_f, self.b_f, self.W_o, self.U_o, self.b_o, ] self.L1 = T.sum(abs(self.W_i))+T.sum(abs(self.U_i))+\ T.sum(abs(self.W_f))+T.sum(abs(self.U_f))+\ T.sum(abs(self.W_c))+T.sum(abs(self.U_c))+\ T.sum(abs(self.W_o))+T.sum(abs(self.U_o)) self.L2_sqr = T.sum(self.W_i**2) + T.sum(self.U_i**2)+\ T.sum(self.W_f**2) + T.sum(self.U_f**2)+\ T.sum(self.W_c**2) + T.sum(self.U_c**2)+\ T.sum(self.W_o**2) + T.sum(self.U_o**2)
def __init__(self,n_in,n_hidden): self.n_in=int(n_in) self.n_hidden=int(n_hidden) self.input= T.tensor3() self.W_i = glorot_uniform((n_in,n_hidden)) self.U_i = glorot_uniform((n_hidden,n_hidden)) self.b_i = zero((n_hidden,)) self.W_f = glorot_uniform((n_in,n_hidden)) self.U_f = glorot_uniform((n_hidden,n_hidden)) self.b_f = zero((n_hidden,)) self.W_c = glorot_uniform((n_in,n_hidden)) self.U_c = glorot_uniform((n_hidden,n_hidden)) self.b_c = zero((n_hidden,)) self.W_o = glorot_uniform((n_in,n_hidden)) self.U_o = glorot_uniform((n_hidden,n_hidden)) self.b_o = zero((n_hidden,)) self.params = [ self.W_i, self.U_i, self.b_i, self.W_c, self.U_c, self.b_c, self.W_f, self.U_f, self.b_f, self.W_o, self.U_o, self.b_o, ] self.L1 = T.sum(abs(self.W_i))+T.sum(abs(self.U_i))+\ T.sum(abs(self.W_f))+T.sum(abs(self.U_f))+\ T.sum(abs(self.W_c))+T.sum(abs(self.U_c))+\ T.sum(abs(self.W_o))+T.sum(abs(self.U_o)) self.L2_sqr = T.sum(self.W_i**2) + T.sum(self.U_i**2)+\ T.sum(self.W_f**2) + T.sum(self.U_f**2)+\ T.sum(self.W_c**2) + T.sum(self.U_c**2)+\ T.sum(self.W_o**2) + T.sum(self.U_o**2)
def __init__(self,n_in,n_hidden,n_decoder,n_out, n_epochs=400,n_chapter=100,n_batch=16,maxlen=20,n_words_x=10000,n_words_y=10000,dim_word=100, momentum_switchover=5,lr=0.001,learning_rate_decay=0.999,snapshot=100,sample_Freq=100,val_Freq=100,L1_reg=0,L2_reg=0): self.n_in=int(n_in) self.n_hidden=int(n_hidden) self.n_decoder=int(n_decoder) self.n_out=int(n_out) self.n_batch=int(n_batch) if n_chapter is not None:self.n_chapter=int(n_chapter) else:self.n_chapter=None self.n_epochs=n_epochs self.maxlen= int(maxlen) self.dim_word=dim_word self.n_words_x=n_words_x self.n_words_y=n_words_y self.x = T.matrix(name = 'x', dtype = 'int32') self.y = T.matrix(name = 'y', dtype = 'int32') self.x_mask = T.matrix(name = 'x_mask', dtype = 'float32') self.y_mask = T.matrix(name = 'y_mask', dtype = 'float32') self.x_emb = T.tensor3(name = 'x', dtype = 'float32') self.y_emb = T.tensor3(name = 'y', dtype = 'float32') self.W_hy = glorot_uniform((self.n_out,self.n_words_y)) self.b_hy = zero((self.n_words_y,)) self.W_hi = glorot_uniform((self.n_hidden,self.n_decoder)) self.b_hi = zero((n_decoder,)) self.Wemb=glorot_normal((self.n_words_x,self.dim_word)) #self.Wemb_dec=glorot_normal((self.n_words_y,self.dim_word)) self.layers = [] self.decoder=[] self.params=[] self.errors=[] #self.updates = {} self.initial_momentum=0.5 self.final_momentum=0.9 self.lr=float(lr) self.momentum_switchover=int(momentum_switchover) self.learning_rate_decay=learning_rate_decay self.snapshot=int(snapshot) self.sample_Freq=int(sample_Freq) self.val_Freq=int(val_Freq) self.L1_reg=L1_reg self.L2_reg=L2_reg self.L1= 0 self.L2_sqr= 0 ## word embedding self.x_emb=self.Wemb[T.cast(self.x.flatten(),'int32')].reshape((self.x.shape[0], self.x.shape[1], self.dim_word)) self.y_emb=self.Wemb[T.cast(self.y.flatten(),'int32')].reshape((self.y.shape[0], self.y.shape[1], self.dim_word))
def __init__(self,n_in,n_hidden,output_mode='concat'): self.n_in=int(n_in) self.n_hidden=int(n_hidden) self.output_mode = output_mode self.input= T.tensor3() # forward weights self.W_i = glorot_uniform((n_in,n_hidden)) self.U_i = glorot_uniform((n_hidden,n_hidden)) self.b_i = zero((n_hidden,)) self.W_f = glorot_uniform((n_in,n_hidden)) self.U_f = glorot_uniform((n_hidden,n_hidden)) self.b_f = zero((n_hidden,)) self.W_c = glorot_uniform((n_in,n_hidden)) self.U_c = glorot_uniform((n_hidden,n_hidden)) self.b_c = zero((n_hidden,)) self.W_o = glorot_uniform((n_in,n_hidden)) self.U_o = glorot_uniform((n_hidden,n_hidden)) self.b_o = zero((n_hidden,)) # backward weights self.Wb_i = glorot_uniform((n_in,n_hidden)) self.Ub_i = glorot_uniform((n_hidden,n_hidden)) self.bb_i = zero((n_hidden,)) self.Wb_f = glorot_uniform((n_in,n_hidden)) self.Ub_f = glorot_uniform((n_hidden,n_hidden)) self.bb_f = zero((n_hidden,)) self.Wb_c = glorot_uniform((n_in,n_hidden)) self.Ub_c = glorot_uniform((n_hidden,n_hidden)) self.bb_c = zero((n_hidden,)) self.Wb_o = glorot_uniform((n_in,n_hidden)) self.Ub_o = glorot_uniform((n_hidden,n_hidden)) self.bb_o = zero((n_hidden,)) self.params = [ self.W_i, self.U_i, self.b_i, self.W_c, self.U_c, self.b_c, self.W_f, self.U_f, self.b_f, self.W_o, self.U_o, self.b_o, self.Wb_i, self.Ub_i, self.bb_i, self.Wb_c, self.Ub_c, self.bb_c, self.Wb_f, self.Ub_f, self.bb_f, self.Wb_o, self.Ub_o, self.bb_o, ] self.L1 = T.sum(abs(self.W_i))+T.sum(abs(self.U_i))+\ T.sum(abs(self.W_f))+T.sum(abs(self.U_f))+\ T.sum(abs(self.W_c))+T.sum(abs(self.U_c))+\ T.sum(abs(self.W_o))+T.sum(abs(self.U_o))+\ T.sum(abs(self.Wb_i))+T.sum(abs(self.Ub_i))+\ T.sum(abs(self.Wb_f))+T.sum(abs(self.Ub_f))+\ T.sum(abs(self.Wb_c))+T.sum(abs(self.Ub_c))+\ T.sum(abs(self.Wb_o))+T.sum(abs(self.Ub_o)) self.L2_sqr = T.sum(self.W_i**2) + T.sum(self.U_i**2)+\ T.sum(self.W_f**2) + T.sum(self.U_f**2)+\ T.sum(self.W_c**2) + T.sum(self.U_c**2)+\ T.sum(self.W_o**2) + T.sum(self.U_o**2)+\ T.sum(self.Wb_i**2) + T.sum(self.Ub_i**2)+\ T.sum(self.Wb_f**2) + T.sum(self.Ub_f**2)+\ T.sum(self.Wb_c**2) + T.sum(self.Ub_c**2)+\ T.sum(self.Wb_o**2) + T.sum(self.Ub_o**2)
def __init__(self,n_in,n_hidden,output_mode='concat'): self.n_in=int(n_in) n_hidden=int(n_hidden/2) self.n_hidden=int(n_hidden) self.output_mode = output_mode self.input= T.tensor3() self.x_mask=T.matrix() # forward weights self.W_z = glorot_uniform((n_in,n_hidden)) self.U_z = glorot_uniform((n_hidden,n_hidden)) self.b_z = zero((n_hidden,)) self.W_r = glorot_uniform((n_in,n_hidden)) self.U_r = glorot_uniform((n_hidden,n_hidden)) self.b_r = zero((n_hidden,)) self.W_h = glorot_uniform((n_in,n_hidden)) self.U_h = glorot_uniform((n_hidden,n_hidden)) self.b_h = zero((n_hidden,)) # backward weights self.Wb_z = glorot_uniform((n_in,n_hidden)) self.Ub_z = glorot_uniform((n_hidden,n_hidden)) self.bb_z = zero((n_hidden,)) self.Wb_r = glorot_uniform((n_in,n_hidden)) self.Ub_r = glorot_uniform((n_hidden,n_hidden)) self.bb_r = zero((n_hidden,)) self.Wb_h = glorot_uniform((n_in,n_hidden)) self.Ub_h = glorot_uniform((n_hidden,n_hidden)) self.bb_h = zero((n_hidden,)) self.params = [ self.W_z, self.U_z, self.b_z, self.W_r, self.U_r, self.b_r, self.W_h, self.U_h, self.b_h, self.Wb_z, self.Ub_z, self.bb_z, self.Wb_r, self.Ub_r, self.bb_r, self.Wb_h, self.Ub_h, self.bb_h ] self.L1 = T.sum(abs(self.W_z))+T.sum(abs(self.U_z))+\ T.sum(abs(self.W_r))+T.sum(abs(self.U_r))+\ T.sum(abs(self.W_h))+T.sum(abs(self.U_h))+\ T.sum(abs(self.Wb_z))+T.sum(abs(self.Ub_z))+\ T.sum(abs(self.Wb_r))+T.sum(abs(self.Ub_r))+\ T.sum(abs(self.Wb_h))+T.sum(abs(self.Ub_h)) self.L2_sqr = T.sum(self.W_z**2) + T.sum(self.U_z**2)+\ T.sum(self.W_r**2) + T.sum(self.U_r**2)+\ T.sum(self.W_h**2) + T.sum(self.U_h**2)+\ T.sum(self.Wb_z**2) + T.sum(self.Ub_z**2)+\ T.sum(self.Wb_r**2) + T.sum(self.Ub_r**2)+\ T.sum(self.Wb_h**2) + T.sum(self.Ub_h**2)
def __init__(self, n_in, n_hidden, output_mode='concat'): self.n_in = int(n_in) n_hidden = int(n_hidden / 2) self.n_hidden = int(n_hidden) self.output_mode = output_mode self.input = T.tensor3() self.x_mask = T.matrix() # forward weights self.W_z = glorot_uniform((n_in, n_hidden)) self.U_z = glorot_uniform((n_hidden, n_hidden)) self.b_z = zero((n_hidden, )) self.W_r = glorot_uniform((n_in, n_hidden)) self.U_r = glorot_uniform((n_hidden, n_hidden)) self.b_r = zero((n_hidden, )) self.W_h = glorot_uniform((n_in, n_hidden)) self.U_h = glorot_uniform((n_hidden, n_hidden)) self.b_h = zero((n_hidden, )) # backward weights self.Wb_z = glorot_uniform((n_in, n_hidden)) self.Ub_z = glorot_uniform((n_hidden, n_hidden)) self.bb_z = zero((n_hidden, )) self.Wb_r = glorot_uniform((n_in, n_hidden)) self.Ub_r = glorot_uniform((n_hidden, n_hidden)) self.bb_r = zero((n_hidden, )) self.Wb_h = glorot_uniform((n_in, n_hidden)) self.Ub_h = glorot_uniform((n_hidden, n_hidden)) self.bb_h = zero((n_hidden, )) self.params = [ self.W_z, self.U_z, self.b_z, self.W_r, self.U_r, self.b_r, self.W_h, self.U_h, self.b_h, self.Wb_z, self.Ub_z, self.bb_z, self.Wb_r, self.Ub_r, self.bb_r, self.Wb_h, self.Ub_h, self.bb_h ] self.L1 = T.sum(abs(self.W_z))+T.sum(abs(self.U_z))+\ T.sum(abs(self.W_r))+T.sum(abs(self.U_r))+\ T.sum(abs(self.W_h))+T.sum(abs(self.U_h))+\ T.sum(abs(self.Wb_z))+T.sum(abs(self.Ub_z))+\ T.sum(abs(self.Wb_r))+T.sum(abs(self.Ub_r))+\ T.sum(abs(self.Wb_h))+T.sum(abs(self.Ub_h)) self.L2_sqr = T.sum(self.W_z**2) + T.sum(self.U_z**2)+\ T.sum(self.W_r**2) + T.sum(self.U_r**2)+\ T.sum(self.W_h**2) + T.sum(self.U_h**2)+\ T.sum(self.Wb_z**2) + T.sum(self.Ub_z**2)+\ T.sum(self.Wb_r**2) + T.sum(self.Ub_r**2)+\ T.sum(self.Wb_h**2) + T.sum(self.Ub_h**2)
def __init__( self, n_in, n_hidden, n_decoder, n_out, n_epochs=400, n_chapter=100, n_batch=16, maxlen=20, n_words_x=10000, n_words_y=10000, dim_word=100, momentum_switchover=5, lr=0.001, learning_rate_decay=0.999, snapshot=100, sample_Freq=100, val_Freq=100, L1_reg=0, L2_reg=0, ): self.n_in = int(n_in) self.n_hidden = int(n_hidden) self.n_decoder = int(n_decoder) self.n_out = int(n_out) self.n_batch = int(n_batch) if n_chapter is not None: self.n_chapter = int(n_chapter) else: self.n_chapter = None self.n_epochs = n_epochs self.maxlen = int(maxlen) self.dim_word = dim_word self.n_words_x = n_words_x self.n_words_y = n_words_y self.x = T.matrix(name="x", dtype="int32") self.y = T.matrix(name="y", dtype="int32") self.x_mask = T.matrix(name="x_mask", dtype="float32") self.y_mask = T.matrix(name="y_mask", dtype="float32") self.x_emb = T.tensor3(name="x", dtype="float32") self.y_emb = T.tensor3(name="y", dtype="float32") self.W_hy = glorot_uniform((self.n_out, self.n_words_y)) self.b_hy = zero((self.n_words_y,)) self.W_hi = glorot_uniform((self.n_hidden, self.n_decoder)) self.b_hi = zero((n_decoder,)) self.Wemb = glorot_normal((self.n_words_x, self.dim_word)) # self.Wemb_dec=glorot_normal((self.n_words_y,self.dim_word)) self.layers = [] self.decoder = [] self.params = [] self.errors = [] # self.updates = {} self.initial_momentum = 0.5 self.final_momentum = 0.9 self.lr = float(lr) self.momentum_switchover = int(momentum_switchover) self.learning_rate_decay = learning_rate_decay self.snapshot = int(snapshot) self.sample_Freq = int(sample_Freq) self.val_Freq = int(val_Freq) self.L1_reg = L1_reg self.L2_reg = L2_reg self.L1 = 0 self.L2_sqr = 0 ## word embedding self.x_emb = self.Wemb[T.cast(self.x.flatten(), "int32")].reshape( (self.x.shape[0], self.x.shape[1], self.dim_word) ) self.y_emb = self.Wemb[T.cast(self.y.flatten(), "int32")].reshape( (self.y.shape[0], self.y.shape[1], self.dim_word) )