def METHOD_NAME(self, input, is_infer=False):
    self.label_input = input[0]
    self.sparse_inputs = input[1:self.sparse_inputs_slots]
    self.dense_input = input[-1]
    sparse_number = self.sparse_inputs_slots - 1
    wide_deep_model = WideDeepLayer(
        self.sparse_feature_number,
        self.sparse_feature_dim,
        self.dense_input_dim,
        sparse_number,
        self.fc_sizes,
        sync_mode=self.sync_mode)
    self.cast_label = paddle.cast(self.label_input, dtype='float32')
    ones = paddle.full_like(
        self.label_input, fill_value=1, dtype="float32")
    show_click = paddle.cast(
        paddle.concat(
            [ones, self.cast_label], axis=1), dtype='float32')
    show_click.stop_gradient = True
    pred = wide_deep_model.forward(self.sparse_inputs, self.dense_input,
                                   show_click)
    predict_2d = paddle.concat(x=[1 - pred, pred], axis=1)
    self.predict = predict_2d
    auc, batch_auc, [
        self.batch_stat_pos, self.batch_stat_neg, self.stat_pos,
        self.stat_neg
    ] = paddle.static.auc(input=self.predict,
                          label=self.label_input,
                          num_thresholds=2**12,
                          slide_steps=20)
    auc = paddle.cast(auc, "float32")
    self.inference_target_var = auc
    if is_infer:
        fetch_dict = {'auc': auc}
        return fetch_dict
    cost = paddle.nn.functional.log_loss(
        input=pred, label=paddle.cast(
            self.label_input, dtype="float32"))
    avg_cost = paddle.mean(x=cost)
    self._cost = avg_cost
    fetch_dict = {'cost': avg_cost, 'auc': auc}
    return fetch_dict