
    oiM                    h    S SK Jr  S SKJrJr  S SKJrJr  S SKJ	r	  S SK
Jr  \ " S S\	5      5       rg)	    )annotations)	dataclassfield)OptionalUnion)
PeftConfig)PeftTypec                     ^  \ rS rSr% Sr\" SSS0S9rS\S'   \" SSS	0S9rS\S
'   \" SSS0S9r	S\S'   U 4S jr
SrU =r$ )LNTuningConfig   a  
This is the configuration class to store the configuration of a :class:`~peft.tuners.LNTuningModel`.

Args:
    target_modules (`Optional[Union[List[str], str]]`):
        List of module names or regex expression of the module names to replace with LNTuning. For example,
        '.*decoder.*' or '.*encoder.*'. If this is not specified, modules will be chosen according to the model
        architecture. If the architecture is not known, an error will be raised -- in this case, you should specify
        the target modules manually.
    exclude_modules (`Optional[Union[List[str], str]]`):
        The names of the modules to not apply the adapter. When passing a string, a regex match will be performed.
        When passing a list of strings, either an exact match will be performed or it is checked if the name of the
        module ends with any of the passed strings.
    modules_to_save (`Optional[Union[List[str], str]]`):
        List of modules to be set as trainable and saved in the final checkpoint. For example, in Sequence
        Classification or Token Classification tasks, the final layer `classifier/score` are randomly initialized
        and as such need to be trainable and saved.
NhelpaJ  List of module names or regex expression of the module names to replace with LNTuning.For example, '.*decoder.*' or '.*encoder.*'. If not specified, modules will be chosen according to the model architecture, If the architecture is not known, an error will be raised -- in this case, you shoud specify the target modules manually.)defaultmetadatazOptional[Union[list[str], str]]target_moduleszVList of module names or regex expression of the module names to exclude from LNTuning.exclude_moduleszList of modules to be set as trainable and saved in the final checkpoint. For example, in Sequence Classification or Token Classification tasks, the final layer `classifier/score` are randomly initialized and as such need to be trainable and saved.modules_to_savec                L   > [         TU ]  5         [        R                  U l        g )N)super__post_init__r	   	LN_TUNING	peft_type)self	__class__s    V/home/james-whalen/.local/lib/python3.13/site-packages/peft/tuners/ln_tuning/config.pyr   LNTuningConfig.__post_init__D   s    !++    )r   )__name__
__module____qualname____firstlineno____doc__r   r   __annotations__r   r   r   __static_attributes____classcell__)r   s   @r   r   r      s|    & 7<u

7N3 
 8=rs8O4  8= v
8O4 , ,r   r   N)
__future__r   dataclassesr   r   typingr   r   peft.configr   
peft.utilsr	   r    r   r   <module>r+      s1    # ( " "  .,Z ., .,r   