def METHOD_NAME(
    self,
    feat: Optional[torch.Tensor],
    logits: torch.Tensor,
    data_samples: Optional[Sequence[TextRecogDataSample]] = None
) -> torch.Tensor:
    """
    Args:
        feat (torch.Tensor, optional): Not required. Feature map
            placeholder. Defaults to None.
        logits (Tensor): Raw language logitis. Shape :math:`(N, T, C)`.
        data_samples (list[TextRecogDataSample], optional): Not required.
            DataSample placeholder. Defaults to None.
    Returns:
        Tensor: Character probabilities. of shape
        :math:`(N, self.max_seq_len, C)` where :math:`C` is
        ``num_classes``.
    """
    raw_result = self.forward_train(feat, logits, data_samples)
    if 'out_fusers' in raw_result and len(raw_result['out_fusers']) > 0:
        ret = raw_result['out_fusers'][-1]['logits']
    elif 'out_langs' in raw_result and len(raw_result['out_langs']) > 0:
        ret = raw_result['out_langs'][-1]['logits']
    else:
        ret = raw_result['out_vis']['logits']
    return self.softmax(ret)