def __init__(self, input_size, output_size, activation="identity", name="Dense"): self.input_size = input_size self.output_size = output_size self.name = name self.activation = activation self.activation_fct = factories.make_activation_function(self.activation) # Regression output weights and biases self.W = sharedX(value=np.zeros((self.input_size, self.output_size)), name=self.name+'_W') self.b = sharedX(value=np.zeros(output_size), name=self.name+'_b')
def __init__(self, input_size, output_size, activation="identity", name="Dense"): self.input_size = input_size self.output_size = output_size self.name = name self.activation = activation self.activation_fct = factories.make_activation_function(self.activation) # Regression output weights and biases self.W = sharedX(value=np.zeros((self.input_size, self.output_size)), name=self.name+'_W') self.b = sharedX(value=np.zeros(output_size), name=self.name+'_b')
def __init__(self, input_size, output_size, activation="identity", name="DenseNormalized", eps=1e-5): self.input_size = input_size self.output_size = output_size self.name = name self.activation = activation self.activation_fct = factories.make_activation_function(self.activation) self.eps = eps # Regression output weights, biases and gains self.W = sharedX(value=np.zeros((self.input_size, self.output_size)), name=self.name+'_W') self.b = sharedX(value=np.zeros(output_size), name=self.name+'_b') self.g = sharedX(value=np.ones(output_size), name=self.name+'_g')
def __init__(self, input_size, hidden_size, activation="tanh", name="GRU"): self.input_size = input_size self.hidden_size = hidden_size self.name = name self.activation = activation self.activation_fct = factories.make_activation_function(self.activation) # Input weights (z:update, r:reset) # Concatenation of the weights in that order: Wz, Wr, Wh self.W = sharedX(value=np.zeros((input_size, 3*hidden_size)), name=self.name+'_W') # self.Wh = sharedX(value=np.zeros((input_size, 2*hidden_size)), name=self.name+'_Wh') # Biases (z:update, r:reset) # Concatenation of the biases in that order: bz, br, bh self.b = sharedX(value=np.zeros(3*hidden_size), name=self.name+'_b') # self.bh = sharedX(value=np.zeros(hidden_size), name=self.name+'_bh') # Recurrence weights (z:update, r:reset) # Concatenation of the recurrence weights in that order: Uz, Ur self.U = sharedX(value=np.zeros((hidden_size, 2*hidden_size)), name=self.name+'_U') self.Uh = sharedX(value=np.zeros((hidden_size, hidden_size)), name=self.name+'_Uh')
def __init__(self, input_size, hidden_size, activation="tanh", name="GRU"): self.input_size = input_size self.hidden_size = hidden_size self.name = name self.activation = activation self.activation_fct = factories.make_activation_function(self.activation) # Input weights (z:update, r:reset) # Concatenation of the weights in that order: Wz, Wr, Wh self.W = sharedX(value=np.zeros((input_size, 3*hidden_size)), name=self.name+'_W') # self.Wh = sharedX(value=np.zeros((input_size, 2*hidden_size)), name=self.name+'_Wh') # Biases (z:update, r:reset) # Concatenation of the biases in that order: bz, br, bh self.b = sharedX(value=np.zeros(3*hidden_size), name=self.name+'_b') # self.bh = sharedX(value=np.zeros(hidden_size), name=self.name+'_bh') # Recurrence weights (z:update, r:reset) # Concatenation of the recurrence weights in that order: Uz, Ur self.U = sharedX(value=np.zeros((hidden_size, 2*hidden_size)), name=self.name+'_U') self.Uh = sharedX(value=np.zeros((hidden_size, hidden_size)), name=self.name+'_Uh')
def __init__(self, input_size, hidden_size, activation="tanh", name="LSTM"): self.input_size = input_size self.hidden_size = hidden_size self.name = name self.activation = activation self.activation_fct = factories.make_activation_function(self.activation) # Input weights (i:input, o:output, f:forget, m:memory) # Concatenation of the weights in that order: Wi, Wo, Wf, Wm self.W = sharedX(value=np.zeros((input_size, 4*hidden_size)), name=self.name+'_W') # Biases (i:input, o:output, f:forget, m:memory) # Concatenation of the biases in that order: bi, bo, bf, bm self.b = sharedX(value=np.zeros(4*hidden_size), name=self.name+'_b') # Recurrence weights (i:input, o:output, f:forget, m:memory) # Concatenation of the recurrence weights in that order: Ui, Uo, Uf, Um self.U = sharedX(value=np.zeros((hidden_size, 4*hidden_size)), name=self.name+'_U') # Peepholes (i:input, o:output, f:forget, m:memory) self.Vi = sharedX(value=np.ones(hidden_size), name=self.name+'_Vi') self.Vo = sharedX(value=np.ones(hidden_size), name=self.name+'_Vo') self.Vf = sharedX(value=np.ones(hidden_size), name=self.name+'_Vf')
def __init__(self, input_size, hidden_size, activation="tanh", name="LSTM"): self.input_size = input_size self.hidden_size = hidden_size self.name = name self.activation = activation self.activation_fct = factories.make_activation_function(self.activation) # Input weights (i:input, o:output, f:forget, m:memory) # Concatenation of the weights in that order: Wi, Wo, Wf, Wm self.W = sharedX(value=np.zeros((input_size, 4*hidden_size)), name=self.name+'_W') # Biases (i:input, o:output, f:forget, m:memory) # Concatenation of the biases in that order: bi, bo, bf, bm self.b = sharedX(value=np.zeros(4*hidden_size), name=self.name+'_b') # Recurrence weights (i:input, o:output, f:forget, m:memory) # Concatenation of the recurrence weights in that order: Ui, Uo, Uf, Um self.U = sharedX(value=np.zeros((hidden_size, 4*hidden_size)), name=self.name+'_U') # Peepholes (i:input, o:output, f:forget, m:memory) self.Vi = sharedX(value=np.ones(hidden_size), name=self.name+'_Vi') self.Vo = sharedX(value=np.ones(hidden_size), name=self.name+'_Vo') self.Vf = sharedX(value=np.ones(hidden_size), name=self.name+'_Vf')
def __init__(self, input_size, hidden_size, activation="tanh", name="GRU", eps=1e-5): self.input_size = input_size self.hidden_size = hidden_size self.name = name self.activation = activation self.activation_fct = factories.make_activation_function(self.activation) self.eps = eps # Input weights (z:update, r:reset) # Concatenation of the weights in that order: Wz, Wr, Wh self.W = sharedX(value=np.zeros((input_size, 3*hidden_size)), name=self.name+'_W') self.b_x = sharedX(value=np.zeros(3 * hidden_size), name=self.name + '_b_x') self.b_u = sharedX(value=np.zeros(2 * hidden_size), name=self.name + '_b_u') self.b_uh = sharedX(value=np.zeros(hidden_size), name=self.name+'_b_uh') self.g_x = sharedX(value=np.ones(3 * hidden_size), name=self.name + '_g_x') self.g_u = sharedX(value=np.ones(2*hidden_size), name=self.name+'_g_u') self.g_uh = sharedX(value=np.ones(hidden_size), name=self.name+'_g_uh') # Recurrence weights (z:update, r:reset) # Concatenation of the recurrence weights in that order: Uz, Ur self.U = sharedX(value=np.zeros((hidden_size, 2*hidden_size)), name=self.name+'_U') self.Uh = sharedX(value=np.zeros((hidden_size, hidden_size)), name=self.name+'_Uh')