def METHOD_NAME(self, parameters, config):
    """Train parameters on the locally held training set."""
    # Update local model parameters
    model = self.set_parameters(parameters)
    # Get hyperparameters for this round
    batch_size: int = config["batch_size"]
    epochs: int = config["local_epochs"]
    n_valset = int(len(self.trainset) * self.validation_split)
    valset = torch.utils.data.Subset(self.trainset, range(0, n_valset))
    trainset = torch.utils.data.Subset(
        self.trainset, range(n_valset, len(self.trainset))
    )
    trainLoader = DataLoader(trainset, batch_size=batch_size, shuffle=True)
    valLoader = DataLoader(valset, batch_size=batch_size)
    results = utils.train(model, trainLoader, valLoader, epochs, self.device)
    parameters_prime = utils.get_model_params(model)
    num_examples_train = len(trainset)
    return parameters_prime, num_examples_train, results