class_docstr: The base dataset class for prompt-tuning or p-tuning.
  TODO: (@adithyare) should be merged into GPTPromptLearningDataset
class_docstr_tok: ["The","base","dataset","class","for","prompt-tuning","or","p-tuning",".","TODO",":","(","@","adithyare",")","should","be","merged","into","GPTPromptLearningDataset"]
docstr: Insert the correct number of pseudo tokens at the <|VIRTUAL_PROMPT_n|> markers 
docstr_tok: ["Insert","the","correct","number","of","pseudo","tokens","at","the","<","|VIRTUAL_PROMPT_n|",">","markers"]
code: def _insert_virtual_token_placeholders(
      self, input_example, virtual_token_splits
  ):
      """Insert the correct number of pseudo tokens at the <|VIRTUAL_PROMPT_n|> markers"""
      total_inserted_tokens = 0
  
      for idx in range(len(virtual_token_splits)):
          split_start = total_inserted_tokens
          split_end = total_inserted_tokens + virtual_token_splits[idx]
          pseudo_tokens_for_split = "".join(
              self.pseudo_tokens[split_start:split_end]
          )
          input_example = input_example.replace(
              f"<|VIRTUAL_PROMPT_{idx}|>", pseudo_tokens_for_split
          )
          total_inserted_tokens = split_end
  
      return input_example
  
file_path: NeMo/nemo/collections/nlp/data/language_modeling/megatron/base_prompt_learning_dataset.py
imports: import torch
  from nemo.collections.nlp.modules.common import VirtualPromptSource
  from nemo.core import Dataset
  from nemo.utils import logging
label_desc: Use image node_id 2 for calling the BasePromptLearningDataset obj's underlying member method code with example usage: obj._insert_virtual_token_placeholders(input_example, virtual_token_splits) and returns: input_example