def __init__(self, in_size, hidden_size):
        # TODO: go back to 0.01 initialization
        # TODO: use glorot initialization?
        # input weights
        self.hidden_size = hidden_size
        self.in_size = in_size

        # input to candidate
        self.Wxc = np.zeros((hidden_size, in_size))
        # input to reset
        self.Wxr = np.zeros((hidden_size, in_size))
        # input to interpolate
        self.Wxz = np.zeros((hidden_size, in_size))

        # Recurrent weights
        # hidden to candidate
        self.Rhc = np.zeros((hidden_size, hidden_size))
        # hidden to reset
        self.Rhr = np.zeros((hidden_size, hidden_size))
        # hidden to interpolate
        self.Rhz = np.zeros((hidden_size, hidden_size))

        # biases
        self.bc = np.zeros((hidden_size, 1))  # bias for candidate
        self.br = np.zeros((hidden_size, 1))  # bias for reset
        self.bz = np.zeros((hidden_size, 1))  # bias for interpolate

        self.weights = [self.Wxc, self.Wxr, self.Wxz, self.Rhc, self.Rhr,
                        self.Rhz, self.bc, self.br, self.bz]

        # I used this for grad checking, but I should clean up
        self.names = ["Wxc", "Wxr", "Wxz", "Rhc", "Rhr", "Rhz", "bc", "br", "bz"]

        self.weights_ind_Wxc = 0
        self.weights_ind_Wxr = 1
        self.weights_ind_Wxz = 2
        self.weights_ind_Rhc = 3
        self.weights_ind_Rhr = 4
        self.weights_ind_Rhz = 5
        self.weights_ind_bc = 6
        self.weights_ind_br = 7
        self.weights_ind_bz = 8
get unique from list found it on stackoverflow
dataset/ETHPy150Open NervanaSystems/neon/tests/gru_ref.py/GRU.__init__--crossover with--dataset/ETHPy150Open x3omdax/PenBox/Versions/V1.3/penbox.py/unique