+
    ÆÜ³j4  ã                   óT   € ^ RI H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# )ÚSGDc
                ó\   <€ V^ 8X  d   \        R4      h\        S
V `	  RVVW43RVVVV	4	       R# )a]  
Base SGD optimizer.

Arguments:
    params (`torch.tensor`):
        The input parameters to optimize.
    lr (`float`):
        The learning rate.
    momentum (`float`, defaults to 0):
        The momentum value speeds up the optimizer by taking bigger steps.
    dampening (`float`, defaults to 0):
        The dampening value reduces the momentum of the optimizer.
    weight_decay (`float`, defaults to 0.0):
        The weight decay value for the optimizer.
    nesterov (`bool`, defaults to `False`):
        Whether to use Nesterov momentum.
    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.
ú&SGD without momentum is not supported!Úmomentumç        N©ÚNotImplementedErrorÚsuperÚ__init__)ÚselfÚparamsÚlrr   Ú	dampeningÚweight_decayÚnesterovÚ
optim_bitsÚargsÚmin_8bit_sizeÚ	__class__s   &&&&&&&&&&€ÚW/home/luca/screen-checking/.venv/lib/python3.14/site-packages/bitsandbytes/optim/sgd.pyr   ÚSGD.__init__	   sD   ø€ ðF �qŒ=Ü%Ð&NÓOÐOÜ‰ÑØØØØÐ!ØØØØØö
	
ó    © )r   r   r   Fé    Né   ©Ú__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^;t oRV 3R lltRtVtV ;t# )ÚSGD8bitc	                ó\   <€ V^ 8X  d   \        R4      h\        S	V `	  RVVW43RV^VV4	       R# )a  
8-bit SGD optimizer.

Arguments:
    params (`torch.tensor`):
        The input parameters to optimize.
    lr (`float`):
        The learning rate.
    momentum (`float`, defaults to 0):
        The momentum value speeds up the optimizer by taking bigger steps.
    dampening (`float`, defaults to 0):
        The dampening value reduces the momentum of the optimizer.
    weight_decay (`float`, defaults to 0.0):
        The weight decay value for the optimizer.
    nesterov (`bool`, defaults to `False`):
        Whether to use Nesterov momentum.
    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   r	   Nr
   ©
r   r   r   r   r   r   r   r   r   r   s
   &&&&&&&&&€r   r   ÚSGD8bit.__init__<   sD   ø€ ð@ �qŒ=Ü%Ð&NÓOÐOÜ‰ÑØØØØÐ!ØØØØØö
	
r   r   ©r   r   r   FNr   r   r&   s   @@r   r)   r)   ;   ó   ù‡ € ÷,
÷ ,
r   r)   c                   ó6   a a€ ] tR t^kt oRV 3R lltRtVtV ;t# )ÚSGD32bitc	                ó\   <€ V^ 8X  d   \        R4      h\        S	V `	  RVVW43RV^ VV4	       R# )a  
32-bit SGD optimizer.

Arguments:
    params (`torch.tensor`):
        The input parameters to optimize.
    lr (`float`):
        The learning rate.
    momentum (`float`, defaults to 0):
        The momentum value speeds up the optimizer by taking bigger steps.
    dampening (`float`, defaults to 0):
        The dampening value reduces the momentum of the optimizer.
    weight_decay (`float`, defaults to 0.0):
        The weight decay value for the optimizer.
    nesterov (`bool`, defaults to `False`):
        Whether to use Nesterov momentum.
    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   r	   Nr
   r+   s
   &&&&&&&&&€r   r   ÚSGD32bit.__init__l   sD   ø€ ð@ �qŒ=Ü%Ð&NÓOÐOÜ‰ÑØØØØÐ!ØØØØØö
	
r   r   r-   r   r&   s   @@r   r0   r0   k   r.   r   r0   N)Úbitsandbytes.optim.optimizerr   r   r)   r0   r   r   r   Ú<module>r4      s0   ðõ
 9ô0
ˆ/ô 0
ôf-
ˆoô -
ô`-
ˆö -
r   