def convert_tokens_to_string(self, tokens):
        """
        Converts a sequence of tokens (list of string) to a single string. Since
        the usage of WordPiece introducing `##` to concat subwords, also removes
        `##` when converting.

        Args:
            tokens (list): A list of string representing tokens to be converted.

        Returns:
            str: Converted string from tokens.

        Examples:
            .. code-block::

                from paddlenlp.transformers import BertTokenizer

                berttokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
                tokens = berttokenizer.tokenize('He was a puppeteer')
                '''
                ['he', 'was', 'a', 'puppet', '##eer']
                '''
                strings = tokenizer.convert_tokens_to_string(tokens)
                '''
                he was a puppeteer
                '''
        """

        out_string = " ".join(tokens).replace(" ##", "").strip()
        return out_string

        Converts a sequence of tokens (list of string) to a single string. Since
        the usage of WordPiece introducing `##` to concat subwords, also removes
        `##` when converting.

        Args:
            tokens (list): A list of string representing tokens to be converted.

        Returns:
            str: Converted string from tokens.

        Examples:
            .. code-block::

                from paddlenlp.transformers import BertTokenizer

                berttokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
                tokens = berttokenizer.tokenize('He was a puppeteer')
                '''
                ['he', 'was', 'a', 'puppet', '##eer']
                '''
                strings = tokenizer.convert_tokens_to_string(tokens)
                '''
                he was a puppeteer
                '''
        
ptstructure/vqa/pytorchnlp/transformers/bert/tokenizer.py