def __init__(self, input_dim, output_dim, weight_init=OrthogonalWeight(), inner_init=GaussianWeight(mean=0, std=0.1), truncate_gradient=-1, output_mode='concat', return_sequences=False): self.input_dim = input_dim self.output_dim = output_dim self.truncate_gradient = truncate_gradient self.output_mode = output_mode # output_mode is either sum or concatenate self.return_sequences = return_sequences # forward weights self.W_i = weight_init((self.input_dim, self.output_dim)) self.U_i = inner_init((self.output_dim, self.output_dim)) self.b_i = shared_zeros((self.output_dim), name='b_i') self.W_f = weight_init((self.input_dim, self.output_dim)) self.U_f = inner_init((self.output_dim, self.output_dim)) self.b_f = shared_ones((self.output_dim), name='b_f') self.W_c = weight_init((self.input_dim, self.output_dim)) self.U_c = inner_init((self.output_dim, self.output_dim)) self.b_c = shared_zeros((self.output_dim), name='b_c') self.W_o = weight_init((self.input_dim, self.output_dim)) self.U_o = inner_init((self.output_dim, self.output_dim)) self.b_o = shared_zeros((self.output_dim), name='b_o') # backward weights self.Wb_i = weight_init((self.input_dim, self.output_dim)) self.Ub_i = inner_init((self.output_dim, self.output_dim)) self.bb_i = shared_zeros((self.output_dim), name='bb_i') self.Wb_f = weight_init((self.input_dim, self.output_dim)) self.Ub_f = inner_init((self.output_dim, self.output_dim)) self.bb_f = shared_ones((self.output_dim), name='bb_f') self.Wb_c = weight_init((self.input_dim, self.output_dim)) self.Ub_c = inner_init((self.output_dim, self.output_dim)) self.bb_c = shared_zeros((self.output_dim), name='bb_c') self.Wb_o = weight_init((self.input_dim, self.output_dim)) self.Ub_o = inner_init((self.output_dim, self.output_dim)) self.bb_o = shared_zeros((self.output_dim), name='bb_o') 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, ]
def __init__(self, input_dim, output_dim, truncate_gradient=-1, return_sequences=True, weight_init=OrthogonalWeight(), inner_init=GaussianWeight(mean=0, std=0.1)): self.input_dim = input_dim self.output_dim = output_dim self.truncate_gradient = truncate_gradient self.return_sequences = return_sequences self.W_i = weight_init((self.input_dim, self.output_dim)) self.U_i = inner_init((self.output_dim, self.output_dim)) self.b_i = shared_zeros((self.output_dim), name='b_i') self.W_f = weight_init((self.input_dim, self.output_dim)) self.U_f = inner_init((self.output_dim, self.output_dim)) self.b_f = shared_ones((self.output_dim), name='b_f') self.W_c = weight_init((self.input_dim, self.output_dim)) self.U_c = inner_init((self.output_dim, self.output_dim)) self.b_c = shared_zeros((self.output_dim), name='b_c') self.W_o = weight_init((self.input_dim, self.output_dim)) self.U_o = inner_init((self.output_dim, self.output_dim)) self.b_o = shared_zeros((self.output_dim), name='b_o') 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, ]
def __init__(self, input_dim, output_dim, truncate_gradient=-1, return_sequences=True, weight_init=OrthogonalWeight(), inner_init=GaussianWeight(mean=0, std=0.1)): self.input_dim = input_dim self.output_dim = output_dim self.truncate_gradient = truncate_gradient self.return_sequences = return_sequences self.W_i = weight_init((self.input_dim, self.output_dim)) self.U_i = inner_init((self.output_dim, self.output_dim)) self.b_i = shared_zeros((self.output_dim), name='b_i') self.W_f = weight_init((self.input_dim, self.output_dim)) self.U_f = inner_init((self.output_dim, self.output_dim)) self.b_f = shared_ones((self.output_dim), name='b_f') self.W_c = weight_init((self.input_dim, self.output_dim)) self.U_c = inner_init((self.output_dim, self.output_dim)) self.b_c = shared_zeros((self.output_dim), name='b_c') self.W_o = weight_init((self.input_dim, self.output_dim)) self.U_o = inner_init((self.output_dim, self.output_dim)) self.b_o = shared_zeros((self.output_dim), name='b_o') 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, ]
def __init__(self, input_dim, output_dim, weight_init=OrthogonalWeight(), inner_init=GaussianWeight(mean=0, std=0.1), truncate_gradient=-1, output_mode='concat', return_sequences=False, return_idx=-1): self.input_dim = input_dim self.output_dim = output_dim self.truncate_gradient = truncate_gradient self.output_mode = output_mode # output_mode is either sum or concatenate self.return_sequences = return_sequences self.return_idx = return_idx # forward weights self.W_i = weight_init((self.input_dim, self.output_dim)) self.U_i = inner_init((self.output_dim, self.output_dim)) self.b_i = shared_zeros((self.output_dim), name='b_i') self.W_f = weight_init((self.input_dim, self.output_dim)) self.U_f = inner_init((self.output_dim, self.output_dim)) self.b_f = shared_ones((self.output_dim), name='b_f') self.W_c = weight_init((self.input_dim, self.output_dim)) self.U_c = inner_init((self.output_dim, self.output_dim)) self.b_c = shared_zeros((self.output_dim), name='b_c') self.W_o = weight_init((self.input_dim, self.output_dim)) self.U_o = inner_init((self.output_dim, self.output_dim)) self.b_o = shared_zeros((self.output_dim), name='b_o') # backward weights self.Wb_i = weight_init((self.input_dim, self.output_dim)) self.Ub_i = inner_init((self.output_dim, self.output_dim)) self.bb_i = shared_zeros((self.output_dim), name='bb_i') self.Wb_f = weight_init((self.input_dim, self.output_dim)) self.Ub_f = inner_init((self.output_dim, self.output_dim)) self.bb_f = shared_ones((self.output_dim), name='bb_f') self.Wb_c = weight_init((self.input_dim, self.output_dim)) self.Ub_c = inner_init((self.output_dim, self.output_dim)) self.bb_c = shared_zeros((self.output_dim), name='bb_c') self.Wb_o = weight_init((self.input_dim, self.output_dim)) self.Ub_o = inner_init((self.output_dim, self.output_dim)) self.bb_o = shared_zeros((self.output_dim), name='bb_o') 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, ]