Пример #1
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)
Пример #2
0
    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
Пример #3
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)
Пример #4
0
    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
Пример #5
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)        
Пример #6
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_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)
Пример #7
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_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)
Пример #8
0
    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))
Пример #9
0
    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)
Пример #10
0
    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)
Пример #11
0
    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)
Пример #12
0
    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)
        )