def METHOD_NAME(self, inputs, is_infer=False):
    pretrained_attr = paddle.ParamAttr(
        name='tdm.bw_emb.weight', trainable=True)
    embedding = paddle.nn.Embedding(
        self.node_nums,
        self.node_emb_size,
        sparse=True,
        padding_idx=0,
        weight_attr=pretrained_attr)
    #paddle.static.Print(inputs[i], summarize=-1)
    user_input_fc = paddle.static.nn.fc(
        x=inputs[0],
        size=self.x_bert_embed_size,
        activation="tanh",
        weight_attr=paddle.ParamAttr(
            name="user_fc_w", initializer=paddle.nn.initializer.Normal()),
        bias_attr=paddle.ParamAttr(
            name="user_fc_b",
            initializer=paddle.nn.initializer.Constant(value=0.1)))
    unit_id_emb = embedding(inputs[-2])
    dout = dnn_model_define(
        self.x_bert_embed_size,
        user_input_fc,
        unit_id_emb,
        node_emb_size=self.node_emb_size,
        fea_groups=self.fea_group,
        with_att=self.with_att)
    cost, softmax_prob = paddle.nn.functional.softmax_with_cross_entropy(
        logits=dout,
        label=inputs[-1],
        return_softmax=True,
        ignore_index=-1)
    ignore_label = paddle.full_like(inputs[-1], fill_value=-1)
    avg_cost = paddle.divide(
        paddle.sum(cost),
        paddle.sum(
            paddle.cast(
                paddle.not_equal(inputs[-1], ignore_label),
                dtype='float32')))
    self._cost = avg_cost
    '''
    auc, _, _ = paddle.static.auc(input=softmax_prob,
                                  label=inputs[-1],
                                  slide_steps=0)
    '''
    auc = paddle.metric.accuracy(input=softmax_prob, label=inputs[-1])
    self.inference_target_var = softmax_prob
    fetch_dict = {'cost': avg_cost, 'acc': auc}
    #fetch_dict = {'cost': avg_cost}
    return fetch_dict