
    bi	                         d dl Z d dlmZmZ d dlmZmZ d dlmZ d dl	m
Z
  G d dee j                        Ze G d d	e             Zy)
    N)	dataclassfield)OptionalUnion)PromptTuningConfig)PeftTypec                        e Zd ZdZdZdZdZdZy)MultitaskPromptTuningInitTEXTRANDOMAVERAGE_SOURCE_TASKSEXACT_SOURCE_TASKONLY_SOURCE_SHAREDN)__name__
__module____qualname__r   r   r   r   r        e/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/peft/tuners/multitask_prompt_tuning/config.pyr
   r
      s    DF1+-r   r
   c                        e Zd ZU  eej
                  ddi      Zeeef   e	d<    edddi      Z
ee   e	d<    eddd	i      Zee   e	d
<    edddi      Zee   e	d<    edddi      Zee   e	d<    fdZ xZS )MultitaskPromptTuningConfighelpzHow to initialize the prompt tuning parameters. Can be one of TEXT, RANDOM, AVERAGE_SOURCE_TASKS, EXACT_SOURCE_TASK, ONLY_SOURCE_SHARED.)defaultmetadataprompt_tuning_initNz|The path of source state dict. This is required when training the downstream target prompt from the pretrained source prompt"prompt_tuning_init_state_dict_pathr   z!source task id for initializationprompt_tuning_init_task   ranks	num_ranksznumber of tasks	num_tasksc                 L    t         |           t        j                  | _        y )N)super__post_init__r   MULTITASK_PROMPT_TUNING	peft_type)self	__class__s    r   r$   z)MultitaskPromptTuningConfig.__post_init__<   s    !99r   )r   r   r   r   r
   r   r   r   str__annotations__r   r   r   intr    r!   r$   __classcell__)r(   s   @r   r   r   $   s    @E)009
A7<=  9>/
9&  .31PsGt-uXc]u$Q&'9JKIx}K$Q&BS9TUIx}U: :r   r   )enumdataclassesr   r   typingr   r   peft.tuners.prompt_tuningr   
peft.utilsr   r)   Enumr
   r   r   r   r   <module>r3      sD     ( " 8 
.TYY 
. :"4 : :r   