def METHOD_NAME(self, dy_model, metrics_list, batch_data, config):
    dy_model.train()
    x_spt, y_spt, x_qry, y_qry = self.create_feeds(batch_data, config)
    x_spt = x_spt[0]
    y_spt = y_spt[0]
    x_qry = x_qry[0]
    y_qry = y_qry[0]
    update_step = config.get("hyper_parameters.update_step_test", 5)
    query_size = x_qry.shape[0]
    correct_list = []
    correct_list.clear()
    task_net = copy.deepcopy(dy_model)
    base_lr = config.get("hyper_parameters.base_optimizer.learning_rate",
                         0.1)
    task_optimizer = paddle.optimizer.SGD(learning_rate=base_lr,
                                          parameters=task_net.parameters())
    for j in range(update_step):
        task_optimizer.clear_grad()
        y_hat = task_net.forward(x_spt)
        loss_spt = F.cross_entropy(y_hat, y_spt)
        loss_spt.backward()
        task_optimizer.step()
    y_hat = task_net.forward(x_qry)
    pred_qry = F.softmax(y_hat, axis=1).argmax(axis=1)
    correct = paddle.equal(pred_qry, y_qry).numpy().sum().item()
    correct_list.append(correct)
    acc = sum(correct_list) / query_size
    acc = paddle.to_tensor(acc)
    print_dict = {"acc": acc}
    return metrics_list, print_dict