
    gK                     ,   d dl mZmZmZmZmZmZmZmZ d dl	m
Z
mZmZmZmZ d dlmZ  ej        e          Z G d d          Z G d de          Z G d d	e          Z G d
 de          Z G d de          Zd eeeefD             ZdefdZdS )   )is_optuna_availableis_ray_tune_availableis_sigopt_availableis_wandb_availablerun_hp_search_optunarun_hp_search_rayrun_hp_search_sigoptrun_hp_search_wandb)HPSearchBackenddefault_hp_space_optunadefault_hp_space_raydefault_hp_space_sigoptdefault_hp_space_wandb)loggingc                   p    e Zd ZU eed<   dZeed<   ed             ZdedefdZ	d Z
d	 Zed
             ZdS )HyperParamSearchBackendBasenameNpip_packagec                      t           NNotImplementedError     ^/var/www/html/ai-engine/env/lib/python3.11/site-packages/transformers/hyperparameter_search.pyis_availablez(HyperParamSearchBackendBase.is_available+   s    !!r   n_trials	directionc                     t           r   r   selftrainerr   r   kwargss        r   runzHyperParamSearchBackendBase.run/       !!r   c                     t           r   r   r!   trials     r   default_hp_spacez,HyperParamSearchBackendBase.default_hp_space2   r%   r   c                     |                                  s-t          d| j         d|                                  d          d S )NzYou picked the z' backend, but it is not installed. Run .)r   RuntimeErrorr   pip_install)r!   s    r   ensure_availablez,HyperParamSearchBackendBase.ensure_available5   sW      "" 	i$)iiTXTdTdTfTfiii  	 	r   c                 &    d| j         p| j         dS )Nz`pip install `)r   r   )clss    r   r-   z'HyperParamSearchBackendBase.pip_install;   s    =s:#(====r   )__name__
__module____qualname__str__annotations__r   staticmethodr   intr$   r)   r.   classmethodr-   r   r   r   r   r   '   s         
IIIK" " \""S "S " " " "" " "   > > [> > >r   r   c                   >    e Zd ZdZed             ZdedefdZd Z	dS )OptunaBackendoptunac                      t                      S r   )r   r   r   r   r   zOptunaBackend.is_availableC       "$$$r   r   r   c                      t          |||fi |S r   )r   r    s        r   r$   zOptunaBackend.runG       #GXyKKFKKKr   c                      t          |          S r   )r   r'   s     r   r)   zOptunaBackend.default_hp_spaceJ       &u---r   N
r2   r3   r4   r   r7   r   r8   r5   r$   r)   r   r   r   r;   r;   @   i        D% % \%LS LS L L L L. . . . .r   r;   c                   B    e Zd ZdZdZed             ZdedefdZ	d Z
dS )	RayTuneBackendrayz'ray[tune]'c                      t                      S r   )r   r   r   r   r   zRayTuneBackend.is_availableR   s    $&&&r   r   r   c                      t          |||fi |S r   )r   r    s        r   r$   zRayTuneBackend.runV   s     (IHHHHHr   c                      t          |          S r   )r   r'   s     r   r)   zRayTuneBackend.default_hp_spaceY   s    #E***r   N)r2   r3   r4   r   r   r7   r   r8   r5   r$   r)   r   r   r   rF   rF   N   sn        DK' ' \'IS IS I I I I+ + + + +r   rF   c                   >    e Zd ZdZed             ZdedefdZd Z	dS )SigOptBackendsigoptc                      t                      S r   )r   r   r   r   r   zSigOptBackend.is_available`   r>   r   r   r   c                      t          |||fi |S r   )r	   r    s        r   r$   zSigOptBackend.rund   r@   r   c                      t          |          S r   )r   r'   s     r   r)   zSigOptBackend.default_hp_spaceg   rB   r   NrC   r   r   r   rL   rL   ]   rD   r   rL   c                   >    e Zd ZdZed             ZdedefdZd Z	dS )WandbBackendwandbc                      t                      S r   )r   r   r   r   r   zWandbBackend.is_availablen   s    !###r   r   r   c                      t          |||fi |S r   )r
   r    s        r   r$   zWandbBackend.runr   s    "7HiJJ6JJJr   c                      t          |          S r   )r   r'   s     r   r)   zWandbBackend.default_hp_spaceu   s    %e,,,r   NrC   r   r   r   rR   rR   k   si        D$ $ \$KS KS K K K K- - - - -r   rR   c                 8    i | ]}t          |j                  |S r   )r   r   .0backends     r   
<dictcomp>r[   y   s1     & & &/6OGL!!7& & &r   returnc                     d t                                           D             } t          |           dk    rO| d         j        }t          |           dk    r-t                              t          |            d| d           |S t          dd                    d t                                           D                       z             )	Nc                 :    g | ]}|                                 |S r   )r   rX   s     r   
<listcomp>z-default_hp_search_backend.<locals>.<listcomp>   s*    wwwg`g`t`t`v`vw'wwwr       r   z1 hyperparameter search backends available. Using z as the default.z,No hyperparameter search backend available.

c              3   T   K   | ]#}d |j          d|                                 V  $dS )z - To install z run N)r   r-   rX   s     r   	<genexpr>z,default_hp_search_backend.<locals>.<genexpr>   sU       
 
 HW\GG0C0C0E0EGG
 
 
 
 
 
r   )"ALL_HYPERPARAMETER_SEARCH_BACKENDSvalueslenr   loggerinfor,   join)available_backendsr   s     r   default_hp_search_backendrk   ~   s    ww1S1Z1Z1\1\www
""!!$)!""Q&&KK)**ss]asss   
7
)) 
 
=DDFF
 
 
 
 
	
  r   N)integrationsr   r   r   r   r   r   r	   r
   trainer_utilsr   r   r   r   r   utilsr   
get_loggerr2   rg   r   r;   rF   rL   rR   rd   r5   rk   r   r   r   <module>rp      s   	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	                    
	H	%	%> > > > > > > >2. . . . ./ . . .+ + + + +0 + + +. . . . ./ . . .- - - - -. - - -& &;H.Zgiu:v& & & "
3      r   