
    sgs                     (    d dl Z d dlZ G d d      Zy)    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y)
TrialShortNamerhpNc                 @    || _         || _        | j                          y N)PREFIXDEFAULTSbuild_naming_info)clsprefixdefaultss      O/var/www/html/venv/lib/python3.12/site-packages/transformers/utils/hp_naming.pyset_defaultszTrialShortNamer.set_defaults   s    
    c                 D   t        |      dk(  ryd }t        d |D              rt        d| d      || d   v r| d   |   S t        dt        |      dz         D ]  }|d | }|| d   v r|} n |d	 }d}	 |d
z    ||      z   }|| d   v r|}	 || d   |<   || d   |<   |S )Nr    c              3   <   K   | ]  }|j                           y wr   )isdigit).0chars     r   	<genexpr>z5TrialShortNamer.shortname_for_word.<locals>.<genexpr>#   s     /$t||~/s   z(Parameters should not contain numbers: 'z' contains a number
short_word   reverse_short_wordc                 d    d}| dk7  r(t        t        d      | dz  z         |z   }| dz  } | dk7  r(|S )Nr   r   A
   )chrord)integerss     r   int_to_alphabeticz=TrialShortNamer.shortname_for_word.<locals>.int_to_alphabetic1   sC    lCHw|34q8ANG l r   #)lenany	Exceptionrange)infowordr   
prefix_lenr   r"   iswords           r   shortname_for_wordz"TrialShortNamer.shortname_for_word   s   t9>
/$//FtfL_`aa4%%%d++3t9q=1 	J+:&F233#
	  As
%6q%99D!566!&J#-\4 15!":.r   c                     |j                  d      }|D cg c]  }t        j                  | |       }}ddg}|D ].  }|j                  |      }|| d   vs|| d   |<   || d   |<   |c S  |S c c}w )N_r   reverse_short_paramshort_param)splitr   r-   join)r(   
param_namewordsr)   shortname_parts
separators	separator	shortnames           r   shortname_for_keyz!TrialShortNamer.shortname_for_keyE   s      %V[\d?==dDI\\ #Y
# 	!I!7I%: ;;2;]#J/9C*+I6  	!  ]s   A.c                 P    t         j                  | |      }|| d   |<   || d   |<   y )Nr1   r0   )r   r:   )r(   r4   
short_names      r   add_new_param_namez"TrialShortNamer.add_new_param_nameX   s3    $66tZH
*4]J'2<"#J/r   c                     | j                   y i i i i d}t        | j                  j                               }|D ]  }| j	                  ||        || _         y )N)r   r   r1   r0   )NAMING_INFOlistr	   keysr=   )r   r(   
field_keysks       r   r
   z!TrialShortNamer.build_naming_info^   se    ??& "$#%	
 #,,++-.
 	,A""4+	, r   c                    | j                          | j                  J t        j                  | j                        g}|j                         D ]  \  }}|| j                  vrt        d| d|       || j                  |   k(  r8| j                  d   |   }t        |t              r|rdnd}t        |t        t        f      rdnd}| | | }|j                  |        dj                  |      S )	Nz6You should provide a default value for the param name z with value r1   r   r   r   -r/   )r
   r   copyitemsr	   r&   r?   
isinstanceboolintfloatappendr3   )r   paramsnamerC   vkeysepes           r   r9   zTrialShortNamer.shortnameq   s    zz%%%		#**%&LLN 	DAq$"XYZX[[ghigj kllCLLO#//-03C!T"A"1sEl3"C%uQC AKKN	  xx~r   c                    |t        | j                        dz   d  }|dk(  rg }n|j                  d      }i }|D ]i  }d|v r|j                  d      \  }}n7t        j                  dd|      }t        t        j                  dd|            }| j                  d   |   }|||<   k | j                  D ]  }||vs| j                  |   ||<    |S )Nr   r   r/   rE   z[0-9.]z[^0-9.]r0   )r$   r   r2   resubrK   r?   r	   )	r   reprvalues
parametersvaluep_kp_vrP   rC   s	            r   
parse_reprzTrialShortNamer.parse_repr   s    C

Oa')*2:FZZ_F
 		"Ee| ;;s+SffXr51BFF9b%89//"78=C!JsO		"  	0A
" #Q
1	0 r   )__name__
__module____qualname__r   r	   r?   classmethodr   staticmethodr-   r:   r=   r
   r9   r\    r   r   r   r      s    FHK   
 $ $L  $ = =
  $  .  r   r   )rF   rT   r   rb   r   r   <module>rc      s     	O Or   