def METHOD_NAME(self, data, tokenizer, label_map, batch_size=1, pad_token_id=0):
    """
    Predicts the data labels.
    Args:
        data (obj:`list(str)`): Data to be predicted.
        tokenizer(obj: paddlenlp.data.JiebaTokenizer): It use jieba to cut the chinese string.
        label_map(obj:`dict`): The label id (key) to label str (value) map.
        batch_size(obj:`int`, defaults to 1): The number of batch.
        pad_token_id(obj:`int`, optional, defaults to 0): The pad token index.
    Returns:
        results(obj:`dict`): All the predictions labels.
    """
    examples = []
    for text in data:
        input_ids = convert_example(text, tokenizer)
        examples.append(input_ids)
    # Separates data into some batches.
    batches = [examples[idx : idx + batch_size] for idx in range(0, len(examples), batch_size)]
    batchify_fn = lambda samples, fn=Pad(axis=0, pad_val=pad_token_id): fn(samples)  # input
    results = []
    for batch in batches:
        input_ids = batchify_fn(batch)
        self.input_handles[0].copy_from_cpu(input_ids)
        self.predictor.run()
        logits = paddle.to_tensor(self.output_handle.copy_to_cpu())
        probs = F.softmax(logits, axis=1)
        idx = paddle.argmax(probs, axis=1).numpy()
        idx = idx.tolist()
        labels = [label_map[i] for i in idx]
        results.extend(labels)
    return results