+
    ÆÜ³j“  ã                   óT   € ^ RI Ht  ! R R]4      t ! R R]4      t ! R R]4      tR# )	é    )ÚOptimizer2Statec                   ó6   a a€ ] tR t^t oRV 3R lltRtVtV ;t# )ÚLAMBc                ó:   <€ \         SV `  RVVVVVV	V
VVR7
       R# )a*  
Base LAMB optimizer.

Arguments:
    params (`torch.tensor`):
        The input parameters to optimize.
    lr (`float`, defaults to 1e-3):
        The learning rate.
    bias_correction (`bool`, defaults to `True`):
        Whether to apply bias correction to the first and second-order moments.
    betas (`tuple(float, float)`, defaults to (0.9, 0.999)):
        The beta values are the decay rates of the first and second-order moment of the optimizer.
    eps (`float`, defaults to 1e-8):
        The epsilon value prevents division by zero in the optimizer.
    weight_decay (`float`, defaults to 1e-2):
        The weight decay value for the optimizer.
    amsgrad (`bool`, defaults to `False`):
        Whether to use the [AMSGrad](https://hf.co/papers/1904.09237) variant of Adam that uses the maximum of past squared gradients instead.
    adam_w_mode (`bool`, defaults to `True`):
        Whether to use the AdamW variant.
    optim_bits (`int`, defaults to 32):
        The number of bits of the optimizer state.
    args (`object`, defaults to `None`):
        An object with additional arguments.
    min_8bit_size (`int`, defaults to 4096):
        The minimum number of elements of the parameter tensors for 8-bit optimization.
    max_unorm (`float`, defaults to 1.0):
        The maximum gradient norm.
Úlamb©Ú	max_unormN©ÚsuperÚ__init__)ÚselfÚparamsÚlrÚbias_correctionÚbetasÚepsÚweight_decayÚamsgradÚadam_w_modeÚ
optim_bitsÚargsÚmin_8bit_sizer	   Ú	__class__s   &&&&&&&&&&&&&€ÚX/home/luca/screen-checking/.venv/lib/python3.14/site-packages/bitsandbytes/optim/lamb.pyr   ÚLAMB.__init__	   s6   ø€ ôX 	‰ÑØØØØØØØØØØð 	ö 	
ó    © )çü©ñÒMbP?T©gÍÌÌÌÌÌì?g+‡ÙÎ÷ï?ç:Œ0âŽyE>r   FTé    Né   ç      ð?©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   Ú__static_attributes__Ú__classdictcell__Ú__classcell__©r   Ú__classdict__s   @@r   r   r      s   ù‡ € ÷7
÷ 7
r   r   c                   ó6   a a€ ] tR t^Ct oRV 3R lltRtVtV ;t# )ÚLAMB8bitc                ó„   <€ V'       d   \        R4      hVR8w  d   \        R4      h\        SV `	  RVVVVV^V	V
VR7
       R# )a   
8-bit LAMB optimizer.

Arguments:
    params (`torch.tensor`):
        The input parameters to optimize.
    lr (`float`, defaults to 1e-3):
        The learning rate.
    bias_correction (`bool`, defaults to `True`):
        Whether to apply bias correction to the first and second-order moments.
    betas (`tuple(float, float)`, defaults to (0.9, 0.999)):
        The beta values are the decay rates of the first and second-order moment of the optimizer.
    eps (`float`, defaults to 1e-8):
        The epsilon value prevents division by zero in the optimizer.
    weight_decay (`float`, defaults to 1e-2):
        The weight decay value for the optimizer.
    amsgrad (`bool`, defaults to `False`):
        Whether to use the [AMSGrad](https://hf.co/papers/1904.09237) variant of Adam that uses the maximum of past squared gradients instead.
        Note: This parameter is not supported in LAMB8bit and must be False.
    adam_w_mode (`bool`, defaults to `True`):
        Whether to use the AdamW variant.
    args (`object`, defaults to `None`):
        An object with additional arguments.
    min_8bit_size (`int`, defaults to 4096):
        The minimum number of elements of the parameter tensors for 8-bit optimization.
    max_unorm (`float`, defaults to 1.0):
        The maximum update norm for trust-ratio clipping.
        Note: This parameter is not supported in LAMB8bit and must be left at the
        default 1.0. The 8-bit blockwise update does not implement update-norm
        clipping; it is honored by the 32-bit LAMB / LAMB32bit optimizers.
z&LAMB8bit does not support amsgrad=Truer#   zFLAMB8bit only supports max_unorm=1.0 (default value for compatibility)r   r   N)Ú
ValueErrorr   r   ©r   r   r   r   r   r   r   r   r   r   r   r	   r   s   &&&&&&&&&&&&€r   r   ÚLAMB8bit.__init__D   s[   ø€ ÷\ ÜÐEÓFÐFà˜Ôô ÐeÓfÐfä‰ÑØØØØØØØØØØð 	ö 	
r   r   ©
r   Tr   r    r   FTNr"   r#   r$   r,   s   @@r   r/   r/   C   s   ù‡ € ÷B
÷ B
r   r/   c                   ó6   a a€ ] tR t^‰t oRV 3R lltRtVtV ;t# )Ú	LAMB32bitc                ó:   <€ \         SV `  RVVVVV^ V	V
VR7
       R# )aÑ  
32-bit LAMB optimizer.

Arguments:
    params (`torch.tensor`):
        The input parameters to optimize.
    lr (`float`, defaults to 1e-3):
        The learning rate.
    bias_correction (`bool`, defaults to `True`):
        Whether to apply bias correction to the first and second-order moments.
    betas (`tuple(float, float)`, defaults to (0.9, 0.999)):
        The beta values are the decay rates of the first and second-order moment of the optimizer.
    eps (`float`, defaults to 1e-8):
        The epsilon value prevents division by zero in the optimizer.
    weight_decay (`float`, defaults to 1e-2):
        The weight decay value for the optimizer.
    amsgrad (`bool`, defaults to `False`):
        Whether to use the [AMSGrad](https://hf.co/papers/1904.09237) variant of Adam that uses the maximum of past squared gradients instead.
    adam_w_mode (`bool`, defaults to `True`):
        Whether to use the AdamW variant.
    args (`object`, defaults to `None`):
        An object with additional arguments.
    min_8bit_size (`int`, defaults to 4096):
        The minimum number of elements of the parameter tensors for 8-bit optimization.
    max_unorm (`float`, defaults to 1.0):
        The maximum gradient norm.
r   r   Nr
   r2   s   &&&&&&&&&&&&€r   r   ÚLAMB32bit.__init__Š   s6   ø€ ôR 	‰ÑØØØØØØØØØØð 	ö 	
r   r   r4   r$   r,   s   @@r   r6   r6   ‰   s   ù‡ € ÷4
÷ 4
r   r6   N)Úbitsandbytes.optim.optimizerr   r   r/   r6   r   r   r   Ú<module>r:      s2   ðõ
 9ô8
ˆ?ô 8
ôvC
ˆô C
ôL5
�ö 5
r   