
    o9i$	                     R    d dl mZ  G d de      Z G d de      Z G d de      Zy)	    )Optimizer1Statec                   2     e Zd Z	 	 	 	 	 	 	 	 	 d fd	Z xZS )SGDc                 \    |dk(  rt        d      t        | 	  d||||fd||||	|
|       y )Nr   &SGD without momentum is not supported!momentum        NotImplementedErrorsuper__init__)selfparamslrr   	dampeningweight_decaynesterov
optim_bitsargsmin_8bit_sizepercentile_clipping
block_wise	__class__s               `/var/www/html/backtest/airagagent/rag_env/lib/python3.12/site-packages/bitsandbytes/optim/sgd.pyr   zSGD.__init__	   sK     q=%&NOOy!	
    )	r   r   r   F    N   d   T__name__
__module____qualname__r   __classcell__r   s   @r   r   r      s*    
 
 
r   r   c                   0     e Zd Z	 	 	 	 	 	 	 	 d fd	Z xZS )SGD8bitc                 \    |dk(  rt        d      t        | 	  d||||fd|d|||	|
       y )Nr   r   r   r	      r
   r   r   r   r   r   r   r   r   r   r   r   r   s              r   r   zSGD8bit.__init__)   sK     q=%&NOOy!	
r   r   r   r   FNr   r   Tr   r$   s   @r   r&   r&   (   '    
 
 
r   r&   c                   0     e Zd Z	 	 	 	 	 	 	 	 d fd	Z xZS )SGD32bitc                 \    |dk(  rt        d      t        | 	  d||||fd|d|||	|
       y )Nr   r   r   r	   r   r
   r)   s              r   r   zSGD32bit.__init__H   sK     q=%&NOOy!	
r   r*   r   r$   s   @r   r-   r-   G   r+   r   r-   N)bitsandbytes.optim.optimizerr   r   r&   r-    r   r   <module>r1      s/   
 9
/ 
@
o 
>
 
r   