"""Optimizer for Data"""

class OptimizerData:
    def __init__(self, learning_rate=0.001, beta1=0.9, beta2=0.999, epsilon=1e-8, decay=0.0):
        self.learning_rate = learning_rate
        self.beta1 = beta1
        self.beta2 = beta2
        self.epsilon = epsilon
        self.decay = decay

    def apply_decay(self, epoch, total_epochs):
        self.learning_rate *= (1.0 / (1 + self.decay * epoch / total_epochs))

    def update_hyperparameters(self, new_lr, new_beta1, new_beta2, new_epsilon, new_decay):
        self.learning