code: def __init__(self, cfg):
      adapter_cfg = PromptEncoderAdapterConfig(
          cfg.peft.p_tuning.virtual_tokens,
          cfg.peft.p_tuning.bottleneck_dim,
          cfg.peft.p_tuning.embedding_dim,
          cfg.peft.p_tuning.init_std,
          cfg.hidden_size,
      )
      name_key_to_cfg = {AdapterName.PTUNING_ADAPTER: adapter_cfg}
      self.name_key_to_mcore_mixins = {
          AdapterName.PTUNING_ADAPTER: [
              ("embedding", MCoreGPTEmbeddingMixin)
          ]
      }
      self.virtual_tokens = cfg.peft.p_tuning.virtual_tokens
  
      super().__init__(cfg.peft.p_tuning, name_key_to_cfg)
  
imports: from typing import Dict
  from omegaconf import DictConfig
  from nemo.collections.nlp.modules.common.megatron.adapters.parallel_adapters import AdapterName, InfusedAdapterConfig, LoraKQVAdapterConfig, LoraKQVAdapterWeightTyingConfig, MLPInfusedAdapterConfig, ParallelLinearAdapterConfig, ParallelLinearAdapterWeightTyingConfig, PromptEncoderAdapterConfig
label_desc: Use image node_id 1 to create a new PtuningPEFTConfig object from inherited base classes: PEFTConfig with example: obj = PtuningPEFTConfig(cfg)