def updates(self, learning_rate):

        updates = []
        for p, g, a, d in zip(self.parameters, self.grads, self.a,
                                   self.d):
            new_a = self.rho * a + (1 - self.rho) * T.square(g)
            updates.append((a, new_a))

            update = g * T.sqrt(d + self.epsilon) / T.sqrt(new_a + self.epsilon)

            new_p = p - learning_rate * update
            updates.append((p, new_p))

            new_d_a = self.rho * d + (1 - self.rho) * T.square(update)
            updates.append((d, new_d_a))
        return updates
dataset/ETHPy150Open sharadmv/deepx/deepx/optimize/adadelta.py/Adadelta.updates/original