+
    ÆÜ³ju   ã                   ó–   € ^ 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# )é    )ÚOptimizer1Statec                   ó6   a a€ ] tR t^t oRV 3R lltRtVtV ;t# )ÚLionc	                ó:   <€ \         S	V `  RVVVRVVVVVR7
       R# )aB  
Base Lion optimizer.

Arguments:
    params (`torch.tensor`):
        The input parameters to optimize.
    lr (`float`, defaults to 1e-4):
        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.
    weight_decay (`float`, defaults to 0):
        The weight decay value for the optimizer.
    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.
Úlionç        ©Úis_pagedN©ÚsuperÚ__init__)
ÚselfÚparamsÚlrÚbetasÚweight_decayÚ
optim_bitsÚargsÚmin_8bit_sizer
   Ú	__class__s
   &&&&&&&&&€ÚX/home/luca/screen-checking/.venv/lib/python3.14/site-packages/bitsandbytes/optim/lion.pyr   ÚLion.__init__	   s6   ø€ ô@ 	‰ÑØØØØØØØØØØð 	ö 	
ó    © )ç-Cëâ6?©gÍÌÌÌÌÌì?g®Gáz®ï?r   é    Né   F©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   Ú__static_attributes__Ú__classdictcell__Ú__classcell__©r   Ú__classdict__s   @@r   r   r      s   ù‡ € ÷+
÷ +
r   r   c                   ó6   a a€ ] tR t^7t oRV 3R lltRtVtV ;t# )ÚLion8bitc                ó:   <€ \         SV `  RVVVRV^VVVR7
       R# )aè  
8-bit Lion optimizer.

Arguments:
    params (`torch.tensor`):
        The input parameters to optimize.
    lr (`float`, defaults to 1e-4):
        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.
    weight_decay (`float`, defaults to 0):
        The weight decay value for the optimizer.
    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   r	   Nr   ©	r   r   r   r   r   r   r   r
   r   s	   &&&&&&&&€r   r   ÚLion8bit.__init__8   s5   ø€ ô: 	‰ÑØØØØØØØØØØð 	ö 	
r   r   ©r   r   r   Nr   Fr   r'   s   @@r   r*   r*   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# )Ú	Lion32bitc                ó:   <€ \         SV `  RVVVRV^ VVVR7
       R# )aé  
32-bit Lion optimizer.

Arguments:
    params (`torch.tensor`):
        The input parameters to optimize.
    lr (`float`, defaults to 1e-4):
        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.
    weight_decay (`float`, defaults to 0):
        The weight decay value for the optimizer.
    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   r	   Nr   r,   s	   &&&&&&&&€r   r   ÚLion32bit.__init__d   s5   ø€ ô: 	‰ÑØØØØØØØØØØð 	ö 	
r   r   r.   r   r'   s   @@r   r1   r1   c   r/   r   r1   c                   ó6   a a€ ] tR t^�t oRV 3R lltRtVtV ;t# )Ú	PagedLionc                ó:   <€ \         SV `  RVVVRVVVVRR7
       R# )aÜ  
Paged Lion optimizer.

Arguments:
    params (`torch.tensor`):
        The input parameters to optimize.
    lr (`float`, defaults to 1e-4):
        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.
    weight_decay (`float`, defaults to 0):
        The weight decay value for the optimizer.
    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.
r   r   Tr	   Nr   )	r   r   r   r   r   r   r   r   r   s	   &&&&&&&&€r   r   ÚPagedLion.__init__�   s5   ø€ ô: 	‰ÑØØØØØØØØØØð 	ö 	
r   r   )r   r   r   r   Nr   r   r'   s   @@r   r5   r5   �   r/   r   r5   c                   ó6   a a€ ] tR t^»t oRV 3R lltRtVtV ;t# )ÚPagedLion8bitc                ó:   <€ \         SV `  RVVVRV^VVRR7
       R# )a‡  
Paged 8-bit Lion optimizer.

Arguments:
    params (`torch.tensor`):
        The input parameters to optimize.
    lr (`float`, defaults to 1e-4):
        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.
    weight_decay (`float`, defaults to 0):
        The weight decay value for the optimizer.
    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.
r   r   Tr	   Nr   ©r   r   r   r   r   r   r   r   s   &&&&&&&€r   r   ÚPagedLion8bit.__init__¼   s5   ø€ ô4 	‰ÑØØØØØØØØØØð 	ö 	
r   r   ©r   r   r   Nr   r   r'   s   @@r   r9   r9   »   ó   ù‡ € ÷%
÷ %
r   r9   c                   ó6   a a€ ] tR t^ät oRV 3R lltRtVtV ;t# )ÚPagedLion32bitc                ó:   <€ \         SV `  RVVVRV^ VVRR7
       R# )aˆ  
Paged 32-bit Lion optimizer.

Arguments:
    params (`torch.tensor`):
        The input parameters to optimize.
    lr (`float`, defaults to 1e-4):
        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.
    weight_decay (`float`, defaults to 0):
        The weight decay value for the optimizer.
    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.
r   r   Tr	   Nr   r;   s   &&&&&&&€r   r   ÚPagedLion32bit.__init__å   s5   ø€ ô4 	‰ÑØØØØØØØØØØð 	ö 	
r   r   r=   r   r'   s   @@r   r@   r@   ä   r>   r   r@   N)Úbitsandbytes.optim.optimizerr   r   r*   r1   r5   r9   r@   r   r   r   Ú<module>rD      sW   ðõ
 9ô,
ˆ?ô ,
ô^)
ˆô )
ôX)
�ô )
ôX)
�ô )
ôX&
�Oô &
ôR&
�_ö &
r   