def METHOD_NAME(self, data):
    # Forward
    net_out = self.runner.train_forward(data)
    # Compute loss
    loss_list = self.runner.compute_losses(net_out, data)
    loss = self.runner.aggregate_losses(loss_list)
    # Backward
    loss.backward()
    # Update parameters
    self.optimizer.step()
    return loss, loss_list