
    oi^                         S SK r S SKJrJr  S SKJr  S SKJr  S SKJ	r	   " S S\
\ R                  5      r\ " S S	\5      5       rg)
    N)	dataclassfield)Union)PromptLearningConfig)PeftTypec                       \ rS rSrSrSrSrg)#PromptEncoderReparameterizationType   MLPLSTM N)__name__
__module____qualname____firstlineno__r   r   __static_attributes__r       U/home/james-whalen/.local/lib/python3.13/site-packages/peft/tuners/p_tuning/config.pyr	   r	      s    
CDr   r	   c                      ^  \ rS rSr% Sr\" \R                  SS0S9r\	\
\4   \S'   \" SSS0S9r\\S	'   \" S
SS0S9r\\S'   \" SSS0S9r\\S'   U 4S jrSrU =r$ )PromptEncoderConfig   a  
This is the configuration class to store the configuration of a [`PromptEncoder`].

Args:
    encoder_reparameterization_type (Union[[`PromptEncoderReparameterizationType`], `str`]):
        The type of reparameterization to use.
    encoder_hidden_size (`int`): The hidden size of the prompt encoder.
    encoder_num_layers (`int`): The number of layers of the prompt encoder.
    encoder_dropout (`float`): The dropout probability of the prompt encoder.
helpz(How to reparameterize the prompt encoder)defaultmetadataencoder_reparameterization_typeNz%The hidden size of the prompt encoderencoder_hidden_size   z*The number of layers of the prompt encoderencoder_num_layersg        z!The dropout of the prompt encoderencoder_dropoutc                 L   > [         TU ]  5         [        R                  U l        g )N)super__post_init__r   P_TUNING	peft_type)self	__class__s    r   r"   !PromptEncoderConfig.__post_init__:   s    !**r   )r$   )r   r   r   r   __doc__r   r	   r   r   r   str__annotations__r   intr   r   floatr"   r   __classcell__)r&   s   @r   r   r      s    	 X]377DEX#U30S+S%T   %AB   $FG  #=>OU 
+ +r   r   )enumdataclassesr   r   typingr   peft.configr   
peft.utilsr   r)   Enumr	   r   r   r   r   <module>r4      sD     (  , #tyy 
 +. + +r   