
    gs                     0    d dl Z d dlZ G d d          ZdS )    Nc                       e Zd ZdZi ZdZed             Zed             Z	ed             Z
ed             Zed             Zed             Zed	             ZdS )
TrialShortNamerhpNc                 J    || _         || _        |                                  d S N)PREFIXDEFAULTSbuild_naming_info)clsprefixdefaultss      X/var/www/html/ai-engine/env/lib/python3.11/site-packages/transformers/utils/hp_naming.pyset_defaultszTrialShortNamer.set_defaults   s(    
    c                    t          |          dk    rdS d }t          d |D                       rt          d| d          || d         v r| d         |         S t          dt          |          dz             D ]}|d |         }|| d         v r|} |%d	 }d}	 |dz    ||          z   }|| d         v r|}	 || d         |<   || d         |<   |S )Nr    c              3   >   K   | ]}|                                 V  d S r   )isdigit).0chars     r   	<genexpr>z5TrialShortNamer.shortname_for_word.<locals>.<genexpr>#   s*      //$t||~~//////r   z(Parameters should not contain numbers: 'z' contains a number
short_word   reverse_short_wordc                 v    d}| dk    r0t          t          d          | dz  z             |z   }| dz  } | dk    0|S )Nr   r   A
   )chrord)integerss     r   int_to_alphabeticz=TrialShortNamer.shortname_for_word.<locals>.int_to_alphabetic1   sL    llCHHw|344q8ANG ll r   T#)lenany	Exceptionrange)infowordr   
prefix_lenr   r"   iswords           r   shortname_for_wordz"TrialShortNamer.shortname_for_word   s>   t99>>2
//$///// 	b`t```aaa4%%%%d++3t99q=11 	 	J+:+&F2333#
   As
%6%6q%9%99D!5666!&J#-\4 15!":.r   c                      |                     d          } fd|D             }ddg}|D ];}|                    |          }| d         vr| d         |<   | d         |<   |c S <|S )N_c                 F    g | ]}t                               |          S  )r   r-   )r   r)   r(   s     r   
<listcomp>z5TrialShortNamer.shortname_for_key.<locals>.<listcomp>I   s)    \\\d?==dDII\\\r   r   reverse_short_paramshort_param)splitjoin)r(   
param_namewordsshortname_parts
separators	separator	shortnames   `      r   shortname_for_keyz!TrialShortNamer.shortname_for_keyE   s      %%\\\\V[\\\ #Y
# 	! 	!I!77I%: ;;;2;]#J/9C*+I6     <
 r   c                 h    t                               | |          }|| d         |<   || d         |<   d S )Nr4   r3   )r   r=   )r(   r7   
short_names      r   add_new_param_namez"TrialShortNamer.add_new_param_nameX   s<    $66tZHH
*4]J'2<"#J///r   c                     | j         d S i i i i d}t          | j                                                  }|D ]}|                     ||           || _         d S )N)r   r   r4   r3   )NAMING_INFOlistr	   keysr@   )r   r(   
field_keysks       r   r
   z!TrialShortNamer.build_naming_info^   sy    ?&F "$#%	
 
 #,++--..
 	, 	,A""4++++r   c                    |                                   | j        J t          j        | j                  g}|                                D ]\  }}|| j        vrt          d| d|           || j        |         k    r5| j        d         |         }t          |t                    r|rdnd}t          |t          t          f          rdnd}| | | }|                    |           d                    |          S )	Nz6You should provide a default value for the param name z with value r4   r   r   r   -r/   )r
   r   copyitemsr	   r&   rB   
isinstanceboolintfloatappendr6   )r   paramsnamerF   vkeysepes           r   r<   zTrialShortNamer.shortnameq   s   z%%%	#*%%&LLNN 	 	DAq$$ kYZ k khi k klllCLO##/-03C!T"" "MAA"1sEl33<""C  Q  AKKNNNNxx~~r   c                    |t          | j                  dz   d          }|dk    rg }n|                    d          }i }|D ]p}d|v r|                    d          \  }}n9t          j        dd|          }t          t          j        dd|                    }| j        d         |         }|||<   q| j        D ]}||vr| j        |         ||<   |S )Nr   r   r/   rH   z[0-9.]z[^0-9.]r3   )r$   r   r5   resubrN   rB   r	   )	r   reprvalues
parametersvaluep_kp_vrS   rF   s	            r   
parse_reprzTrialShortNamer.parse_repr   s    C
OOa'))*2::FFZZ__F
 		" 		"Ee|| ;;s++SSfXr511BF9b%8899/"78=C!JsOO 	0 	0A
"" #Q
1r   )__name__
__module____qualname__r   r	   rB   classmethodr   staticmethodr-   r=   r@   r
   r<   r_   r1   r   r   r   r      s        FHK    [ 
 $ $ \$L   \$ = = \=
   [$   [.   [  r   r   )rI   rW   r   r1   r   r   <module>re      sU     				O O O O O O O O O Or   