o
    h                     @   s@   d dl mZ G dd deZG dd deZG dd deZdS )	    )Optimizer1Statec                       2   e Zd Z										d fd	d
	Z  ZS )Adagrad{Gz?r   绽|=    N   d   Tc                    s   d|kst d| d|kst d| d|ks!t d| |dkr)t d|dkr1t dt d||d|||||	|
| d S )	N        Invalid learning rate: Invalid weight_decay value: Invalid epsilon value: /Initial accumulator value != 0.0 not supported!Lr Decay != 0.0 not supported!adagradr
   r
   
ValueErrorsuper__init__selfparamslrlr_decayweight_decayinitial_accumulator_valueeps
optim_bitsargsmin_8bit_sizepercentile_clipping
block_wise	__class__ P/var/www/html/ai/venv/lib/python3.10/site-packages/bitsandbytes/optim/adagrad.pyr   	   2   zAdagrad.__init__
r   r   r   r   r   r   Nr   r	   T__name__
__module____qualname__r   __classcell__r%   r%   r#   r&   r          r   c                       r   )Adagrad8bitr   r   r      Nr   r	   Tc                    s   d|kst d| d|kst d| d|ks!t d| |dkr)t d|dkr1t d|s5J t d||d||d	||	|
| d S )
Nr
   r   r   r   r   r   r   r   r0   r   r   r#   r%   r&   r   3   s4   zAdagrad8bit.__init__)
r   r   r   r   r   r0   Nr   r	   Tr)   r%   r%   r#   r&   r/   2   r.   r/   c                       r   )Adagrad32bitr   r   r   r   Nr   r	   Tc                    s   d|kst d| d|kst d| d|ks!t d| |dkr)t d|dkr1t dt d||d||d	||	|
| d S )
Nr
   r   r   r   r   r   r   r   r   r   r   r#   r%   r&   r   ^   r'   zAdagrad32bit.__init__r(   r)   r%   r%   r#   r&   r1   ]   r.   r1   N)bitsandbytes.optim.optimizerr   r   r/   r1   r%   r%   r%   r&   <module>   s   *+