+
    ÆÜ³j 2  ã                   ó–   € ^ RI Ht  ! R R]4      t ! R R]4      t ! R R]4      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# )ÚAdamc                ó:   <€ \         SV `  RVVVVVVVV	V
R7
       R# )ai  
Base Adam optimizer.

Arguments:
    params (`torch.tensor`):
        The input parameters to optimize.
    lr (`float`, defaults to 1e-3):
        The learning rate.
    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 0.0):
        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.
    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.
    is_paged (`bool`, defaults to `False`):
        Whether the optimizer is a paged optimizer or not.
Úadam©Úis_pagedN©ÚsuperÚ__init__©ÚselfÚparamsÚlrÚbetasÚepsÚweight_decayÚamsgradÚ
optim_bitsÚargsÚmin_8bit_sizer	   Ú	__class__s   &&&&&&&&&&&€ÚX/home/luca/screen-checking/.venv/lib/python3.14/site-packages/bitsandbytes/optim/adam.pyr   ÚAdam.__init__
   s6   ø€ ôL 	‰ÑØØØØØØØØØØð 	ö 	
ó    © ©	gü©ñÒMbP?)gÍÌÌÌÌÌì?g+‡ÙÎ÷ï?g:Œ0âŽyE>r   Fé    Ni   F©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   Ú__static_attributes__Ú__classdictcell__Ú__classcell__©r   Ú__classdict__s   @@r   r   r   	   ó   ù‡ € ÷1
÷ 1
r   r   c                   ó6   a a€ ] tR t^>t oRV 3R lltRtVtV ;t# )ÚAdam8bitc                ó„   <€ V'       d   \        R4      hV^ 8w  d   \        R4      h\        SV `	  RVVVVV^VV	V
R7
       R# )a  
8-bit Adam optimizer.

Arguments:
    params (`torch.tensor`):
        The input parameters to optimize.
    lr (`float`, defaults to 1e-3):
        The learning rate.
    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 0.0):
        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 Adam8bit and must be False.
    optim_bits (`int`, defaults to 32):
        The number of bits of the optimizer state.
        Note: This parameter is not used in Adam8bit as it always uses 8-bit optimization.
    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.
    is_paged (`bool`, defaults to `False`):
        Whether the optimizer is a paged optimizer or not.
z&Adam8bit does not support amsgrad=TruezFAdam8bit only supports optim_bits=32 (default value for compatibility)r   r   N©Ú
ValueErrorr   r   r   s   &&&&&&&&&&&€r   r   ÚAdam8bit.__init__?   s[   ø€ ÷R ÜÐEÓFÐFà˜Ôô ÐeÓfÐfä‰ÑØØØØØØØØØØð 	ö 	
r   r   r   r   r'   s   @@r   r+   r+   >   ó   ù‡ € ÷<
÷ <
r   r+   c                   ó6   a a€ ] tR t^~t oRV 3R lltRtVtV ;t# )Ú	Adam32bitc                ó:   <€ \         SV `  RVVVVV^ VV	V
R7
       R# )ak  
32-bit Adam optimizer.

Arguments:
    params (`torch.tensor`):
        The input parameters to optimize.
    lr (`float`, defaults to 1e-3):
        The learning rate.
    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 0.0):
        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.
    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.
    is_paged (`bool`, defaults to `False`):
        Whether the optimizer is a paged optimizer or not.
r   r   Nr
   r   s   &&&&&&&&&&&€r   r   ÚAdam32bit.__init__   s6   ø€ ôL 	‰ÑØØØØØØØØØØð 	ö 	
r   r   r   r   r'   s   @@r   r2   r2   ~   r)   r   r2   c                   ó6   a a€ ] tR t^³t oRV 3R lltRtVtV ;t# )Ú	PagedAdamc                ó:   <€ \         SV `  RVVVVVVVV	RR7
       R# )aj  
Paged Adam optimizer.

Arguments:
    params (`torch.tensor`):
        The input parameters to optimize.
    lr (`float`, defaults to 1e-3):
        The learning rate.
    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 0.0):
        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.
    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.
    is_paged (`bool`, defaults to `False`):
        Whether the optimizer is a paged optimizer or not.
r   Tr   Nr
   r   s   &&&&&&&&&&&€r   r   ÚPagedAdam.__init__´   s6   ø€ ôL 	‰ÑØØØØØØØØØØð 	ö 	
r   r   r   r   r'   s   @@r   r6   r6   ³   r)   r   r6   c                   ó6   a a€ ] tR t^èt oRV 3R lltRtVtV ;t# )ÚPagedAdam8bitc                ó„   <€ V'       d   \        R4      hV^ 8w  d   \        R4      h\        SV `	  RVVVVV^VV	RR7
       R# )a"  
8-bit paged Adam optimizer.

Arguments:
    params (`torch.tensor`):
        The input parameters to optimize.
    lr (`float`, defaults to 1e-3):
        The learning rate.
    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 0.0):
        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 PagedAdam8bit and must be False.
    optim_bits (`int`, defaults to 32):
        The number of bits of the optimizer state.
        Note: This parameter is not used in PagedAdam8bit as it always uses 8-bit optimization.
    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.
    is_paged (`bool`, defaults to `False`):
        Whether the optimizer is a paged optimizer or not.
z+PagedAdam8bit does not support amsgrad=TruezKPagedAdam8bit only supports optim_bits=32 (default value for compatibility)r   Tr   Nr-   r   s   &&&&&&&&&&&€r   r   ÚPagedAdam8bit.__init__é   s[   ø€ ÷R ÜÐJÓKÐKà˜Ôô ÐjÓkÐkä‰ÑØØØØØØØØØØð 	ö 	
r   r   r   r   r'   s   @@r   r:   r:   è   r0   r   r:   c                   ó6   a a€ ] tR tRt oRV 3R lltRtVtV ;t# )ÚPagedAdam32biti(  c                ó:   <€ \         SV `  RVVVVV^ VV	RR7
       R# )aq  
Paged 32-bit Adam optimizer.

Arguments:
    params (`torch.tensor`):
        The input parameters to optimize.
    lr (`float`, defaults to 1e-3):
        The learning rate.
    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 0.0):
        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.
    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.
    is_paged (`bool`, defaults to `False`):
        Whether the optimizer is a paged optimizer or not.
r   Tr   Nr
   r   s   &&&&&&&&&&&€r   r   ÚPagedAdam32bit.__init__)  s6   ø€ ôL 	‰ÑØØØØØØØØØØð 	ö 	
r   r   r   r   r'   s   @@r   r>   r>   (  r)   r   r>   N)Úbitsandbytes.optim.optimizerr   r   r+   r2   r6   r:   r>   r   r   r   Ú<module>rB      sW   ðõ 9ô2
ˆ?ô 2
ôj=
ˆô =
ô@2
�ô 2
ôj2
�ô 2
ôj=
�Oô =
ô@2
�_ö 2
r   