
    /;ji                     X    d dl Z d dlZd dlmZ  G d d          Z G d de          ZdS )    Nc                        e Zd Zd Zd Zd ZdS )	Optimizerc                     g | _         d S N)_preValsselfs    P/root/voice-cloning/.venv/lib/python3.11/site-packages/spacy_pkuseg/optimizer.py__init__zOptimizer.__init__
   s        c                 H   d}t          | j                  dk    rm| j        d         }t          | j                  dk    r| j                            d           ||z
  t          | j                  z  }|t          |          z  }|}| j                            |           |S )Ng}Ô%IT   r   
   )lenr   popabsappend)r	   errvalprevValavgImprovementrelAvgs         r
   converge_testzOptimizer.converge_test   s    t}!!mA&G4=!!R''!!!$$$%ms4=/A/AAN#c#hh.FCS!!!
r   c                     t                      r   )NotImplementedErrorr   s    r
   optimizezOptimizer.optimize   s    !###r   N)__name__
__module____qualname__r   r   r    r   r
   r   r   	   sA          
 
 
$ $ $ $ $r   r   c                   $     e Zd Z fdZd Z xZS )ADFc                     t                                                       || _        || _        || _        t          j        | j        j                  |j        z  | _	        d S r   )
superr   config_model_Xnp	ones_likewrate0	decayList)r	   r%   datasetmodel	__class__s       r
   r   zADF.__init__   sN    dkm44v|Cr   c                    | j         }d}| j        j        }|j        d         }t	          | j                  }t          j        |          }d}t          j        |          }t          t          |                    }	t          j        |	           ||j        z  }
d}t          d||j                  D ]}g }d}t          |||j        z             D ]9}|	|         }| j        |         }|                    |           ||dz
  k    rd} n:t	          |          }||z  }t          j        || j        |          \  }}||z  }t          |          }||xx         dz  cc<   d}t          |||j        z             D ]}|dk    r||
z  dk    rd}|s|r@| xj        |j        |j        |j        z
  |z  |z  z
  z  c_        |                    d           ||xx         | j        |         ||         z  z  cc<   d||<   |s|r0|j        dk    r#|| j        ||j        |j        z  z  |z  |z  z  z  }d}||z  }|j        dk    r/||z                                  }||d|j        z  |j        z  z  z  }|                     |          }|||fS )Nr   Fr   Tg       @)r%   r&   r*   shaper   r'   r(   zeroslistrangerandomshufflenUpdate	miniBatchr   _gradget_grad_SGD_minibatchr,   upperlowerfillregsumr   )r	   r%   sample_sizer*   fsizexsizegraderrorfeature_count_listriupdate_intervaln_sampletXXendkixmb_sizer   feature_setchecksdiffs                           r
   r   zADF.optimize(   s   KM
DGxXe__%,,r6>1 q%!122 G	# G	#ABC1a&"2233  qEGAJ		!	>>CE " "ggGH  %;dk2   C SLE{++K{+++q0+++ E1a&"2233 ! !66a/1Q66 E  + +L|fl2() #''*** kNNNdn[9D<MMMNNN !D
   :??VZ&*45@5H A 7"KK:??QAQ#
*VZ788E!!%((k4''r   )r   r   r   r   r   __classcell__)r/   s   @r
   r"   r"      sS        D D D D D^( ^( ^( ^( ^( ^( ^(r   r"   )r5   numpyr(   spacy_pkuseg.gradientgradientr9   r   r"   r    r   r
   <module>rX      s         % % % % % %
$ $ $ $ $ $ $ $(i( i( i( i( i() i( i( i( i( i(r   