Ë
    b›¾j  ã                   ó.  — d dl Z d dlmZ d dlmZmZmZmZmZm	Z	m
Z
mZmZ d dlZd dlZd dlmZ ddlmZ ddlmZ erddlmZ d	d
œde	e   de	e   dedee	e   e	e   e	e   f   fd„Z	 	 	 ddedede
eeef      fd„Z	 	 	 dde
e   dede
eeef      fd„Zy)é    N)ÚPath)	ÚIOÚTYPE_CHECKINGÚAnyÚCallableÚDictÚListÚOptionalÚTupleÚUnion)ÚPrinteré   )Úutil)ÚErrors)ÚLanguageé   )Ú	max_widthÚcolsÚwidthsr   Úreturnc                 ó  — g }g }t        | |«      D ]a  \  }}t        |«      |kD  r|d |dz
   dz   }|j                  |j                  «       «       |j                  t	        t        |«      |«      «       Œc |||D �cg c]  }d‘Œ c}fS c c}w )Né   z...Úr)ÚzipÚlenÚappendÚupperÚmax)r   r   r   Ú
final_colsÚfinal_widthsÚcolÚwidthÚ_s           ú`/home/spazio/kingdom_calls/work5/transenv/lib/python3.12/site-packages/spacy/training/loggers.pyÚsetup_tabler%      s“   € ð €JØ€LÜ˜$ Ó'ò 2‰
ˆˆUÜˆs‹8�iÒØ�o˜	 A™Ð&¨Ñ.ˆCØ×Ñ˜#Ÿ)™)›+Ô&Ø×ÑœC¤ C£¨%Ó0Õ1ð	2ð
 �|°<Ö%@¨a¢cÒ%@Ð@Ð@ùÒ%@s   Á;	BÚprogress_barÚconsole_outputÚoutput_filec                 ó*   — t        | du rdnd||¬«      S )a‡  The ConsoleLogger.v2 prints out training logs in the console and/or saves them to a jsonl file.
    progress_bar (bool): Whether the logger should print a progress bar tracking the steps till the next evaluation pass.
    console_output (bool): Whether the logger should print the logs on the console.
    output_file (Optional[Union[str, Path]]): The file to save the training logs to.
    FNÚeval©r&   r'   r(   )Úconsole_logger_v3r+   s      r$   Úconsole_loggerr-      s#   € ô Ø)¨UÑ2‘T¸Ø%Øôð ó    c                 ó´  ‡ ‡‡‡— dŠ‰rct        j                  ‰«      Š‰j                  «       rdŠ‰j                  d   j                  «       s‰j                  d   j	                  d¬«       t
        j                  t
        j                  fdddt        dt        d	t        t        t        t        t        t        f      gd
f   t        g d
f   f   fˆˆˆˆ fd„}|S )ax  The ConsoleLogger.v3 prints out training logs in the console and/or saves them to a jsonl file.
    progress_bar (Optional[str]): Type of progress bar to show in the console. Allowed values:
        train - Tracks the number of steps from the beginning of training until the full training run is complete (training.max_steps is reached).
        eval - Tracks the number of steps between the previous and next evaluation (training.eval_frequency is reached).
    console_output (bool): Whether the logger should print the logs on the console.
    output_file (Optional[Union[str, Path]]): The file to save the training logs to.
    FTr   )ÚparentsÚnlpr   ÚstdoutÚstderrr   Nc                 óV  •‡‡‡‡‡‡‡‡‡‡‡‡‡— ˆfd„Št        d¬«      Šd Š‰r ‰‰j                  d‰› d�«      «       d Šn*‰r( ‰‰j                  d‰› �«      «       t        ‰dd¬	«      Š| j                  D ��cg c]  \  }}t        |d
«      r|j                  r|‘Œ! c}}Š| j                  d   d   Š| j                  d   d   Š| j                  d   d   }|j                  «       D ��cg c]
  \  }}|€Œ	|‘Œ c}}Š‰D �cg c]  }d|› �‘Œ	 }	}‰r‹dŠt        ddg|	z   ‰z   dgz   ddg|	D �
cg c]  }
d‘Œ c}
z   ‰D �
cg c]  }
d‘Œ c}
z   dgz   ¬«      \  }ŠŠ ‰‰j                  |‰‰¬«      «        ‰‰j                  ‰D �cg c]  }d|z  ‘Œ	 c}‰¬«      «       d Šd}‰�.‰|vr*t        t        j                  j                  ‰|¬«      «      ‚dt        t         t"        t$        f      dd fˆˆˆˆˆˆˆˆˆˆˆˆˆˆfd„}d!ˆfd „}||fS c c}}w c c}}w c c}w c c}
w c c}
w c c}w )"Nc                 ó    •— t        | ‰d¬«      S )NT)ÚfileÚflush)Úprint)Útextr2   s    €r$   ú<lambda>z:console_logger_v3.<locals>.setup_printer.<locals>.<lambda>G   s   ø€ œU 4¨f¸DÔA€ r.   T)Úno_printz Saving logs is disabled because z already exists.zSaving results to Úwzutf-8)ÚencodingÚis_trainableÚtrainingÚ	max_stepsÚeval_frequencyÚscore_weightszLoss r   ÚEú#ÚScorer   é   é   )r   r   )r   Úspacingú-)rH   )Útrainr*   )Ú
unexpectedÚexpectedÚinfor   c           	      ó  •— | €‰�‰j                  d«       y g }i }‰D ]E  }|j                  dj                  t        | d   |   «      «      «       t        | d   |   «      ||<   ŒG g }i }‰D ][  }| d   j	                  |d«      }	 t        |«      }|dk7  r|dz  }|j                  dj                  |«      «       ||t        |«      <   Œ] | d	   | d
   g|z   |z   dj                  t        | d   «      «      gz   }	‰rA| d	   | d
   ||t        | d   «      dœ}
‰j                  t        j                  |
«      dz   «       ‰�‰j                  «        ‰rn ‰‰j                  |	‰‰‰¬«      «       ‰rP‰dk(  r‰}d| d	   › �}| d
   }n‰}d| d	   dz   › �}d}t!        j                   |d d‰|¬«      Š‰j#                  |«       y y y # t
        $ r7 t        j                  j                  |t        |«      ¬«      }t        |«      d ‚w xY w)Né   z{0:.2f}ÚlossesÚother_scoresg        )ÚnameÚ
score_typeÚspeedéd   ÚepochÚstepÚscore)rV   rW   rP   ÚscoresrX   ú
)r   ÚalignsrH   rJ   zLast Eval Epoch: zEpoch r   F)ÚtotalÚdisableÚleaver6   Úinitial)Úupdater   ÚformatÚfloatÚgetÚ	TypeErrorr   ÚE916ÚtypeÚ
ValueErrorÚstrÚwriteÚsrslyÚ
json_dumpsÚcloseÚrowÚtqdmÚset_description)rM   rP   Ú
log_lossesÚ	pipe_namerY   Ú
log_scoresr!   rX   ÚerrÚdataÚlog_datar\   Údescr_   r'   rA   Úlogged_pipesr@   ÚmsgÚoutput_streamÚprogressr&   Ú
score_colsrH   r3   Útable_alignsÚtable_widthsri   s                 €€€€€€€€€€€€€€r$   Úlog_stepz:console_logger_v3.<locals>.setup_printer.<locals>.log_stept   sv  ø€ ð ˆ|àÐ'Ø—O‘O AÔ&ØàˆFØˆJØ)ò I�	Ø—‘˜i×.Ñ.¬u°T¸(±^ÀIÑ5NÓ/OÓPÔQÜ(-¨d°8©n¸YÑ.GÓ(H�
˜9Ò%ðIð ˆFØˆJØ!ò 
-�Ø˜^Ñ,×0Ñ0°°cÓ:�ð4Ü! %›L�Eð ˜'’>Ø˜S‘L�EØ—‘˜i×.Ñ.¨uÓ5Ô6Ø',�
œ3˜s›8Ò$ð
-ð �g‘  V¡Ð-Øñàñð ×#Ñ#¤E¨$¨w©-Ó$8Ó9Ð:ñ;ð ñ ð " '™]Ø  ™LØ(Ø(Ü" 4¨¡=Ó1ñ�ð ×#Ñ#¤E×$4Ñ$4°XÓ$>ÀÑ$EÔFàÐ#Ø—‘Ô ÙÙØ—G‘GØ \¸,ÐPWð ó ôñ
  Ø# wÒ.Ø )˜Ø!2°4¸±=°/ÐB˜Ø"& v¡,™à .˜Ø!'¨¨W©¸Ñ(9Ð':Ð;˜Ø"#˜ä#Ÿy™yØ#Ø $Ø#Ø#Ø 'ô �Hð ×,Ñ,¨TÕ2ð#  ð øô9 !ò 4Ü Ÿ+™+×,Ñ,°#Ä$ÀuÃ+Ð,ÓN�CÜ$ S›/¨tÐ3ð4ús   ÂF?Æ?A G?c                  ó,   •— ‰ r‰ j                  «        y y )N)rl   )ry   s   €r$   Úfinalizez:console_logger_v3.<locals>.setup_printer.<locals>.finalize¾   s   ø€ ÙØ×#Ñ#Õ%ð r.   )r   N)r   ÚwarnrM   ÚopenÚpipelineÚhasattrr>   ÚconfigÚitemsr%   rm   rg   r   ÚE1048ra   r
   r   rh   r   )r1   r2   r3   rR   ÚprocrB   r!   ÚvalueÚpipeÚ	loss_colsr#   Útable_headerr"   Úexpected_progress_typesr~   r€   rA   rw   r@   rx   ry   rz   r{   rH   r|   r}   ri   Ú
_log_existr'   r(   r&   s    ``             @@@@@@@@@@@€€€€r$   Úsetup_printerz(console_logger_v3.<locals>.setup_printerD   s]  ÿý€ ó BˆÜ˜tÔ$ˆð ˆÙÙØ—‘Ø6°{°mÐCSÐTóôð
 ‰KÙÙ�#—(‘(Ð/°¨}Ð=Ó>Ô?Ü  ¨c¸GÔDˆMð
 "Ÿl™l÷
á��dÜ�t˜^Ô,°×1BÒ1Bò ó
ˆð
 —J‘J˜zÑ*¨;Ñ7ˆ	ØŸ™ JÑ/Ð0@ÑAˆØŸ
™
 :Ñ.¨Ñ?ˆØ,9×,?Ñ,?Ó,A×W™j˜c 5ÀUÑEV’cÓWˆ
Ø0<Ö=¨�u˜T˜F’^Ð=ˆ	Ð=áØˆGÜ7BØ˜3�Z )Ñ+¨jÑ8¸G¸9ÑDØ˜1�v¨IÖ 6 q¢Ò 6Ñ6ÀZÖ9PÀº!Ò9PÑPÐTUÐSVÑVô8Ñ4ˆL˜,¨ñ �#—'‘'˜,¨|ÀW�'ÓMÔNÙ�#—'‘'°LÖA¨5˜3 ›;ÒAÈ7�'ÓSÔTØˆØ"3ÐØÐ#¨Ð<SÑ(SÜÜ—‘×#Ñ#Ø+Ð6Mð $ó óð ðH	3œ8¤D¬¬c¨¡NÑ3ð H	3¸÷ H	3÷ H	3ò H	3õT	&ð ˜Ð!Ð!ùóU
ùó XùÚ=ùò !7ùÒ9Pùò Bs*   Á;$HÃ,
HÃ7HÄHÄ.	HÄ?	H!ÆH&)r   Úensure_pathÚexistsr0   ÚmkdirÚsysr2   r3   r   r   r   r
   r   rh   r   )r&   r'   r(   r�   rŽ   s   ``` @r$   r,   r,   0   sÖ   û€ ð €JÙÜ×&Ñ& {Ó3ˆØ×ÑÔØˆJØ×"Ñ" 1Ñ%×,Ñ,Ô.Ø×Ñ Ñ"×(Ñ(°Ð(Ô6ô '*§j¡j¼s¿z¹zñ~"Øð~"Ü!#ð~"Ü:<ð~"ä	Œxœ¤$¤s¬C x¡.Ñ1Ð2°DÐ8Ñ9¼8ÀBÈÀHÑ;MÐMÑ	N÷~"ð ~"ð@ Ðr.   )FTN)NTN)r“   Úpathlibr   Útypingr   r   r   r   r   r	   r
   r   r   rj   rn   Úwasabir   Ú r   Úerrorsr   Úlanguager   rh   Úintr%   Úboolr-   r,   © r.   r$   ú<module>r�      sð   ðÛ 
Ý ß W× WÕ Wã Û Ý å Ý áÝ#ð =?ò
AØ�#‰Yð
AØ $ S¡	ð
AØ69ð
Aà
ˆ4�‰9�d˜3‘i  c¡Ð*Ñ+ó
Að  ØØ.2ñØðàðð ˜%  T 	Ñ*Ñ+óð$ #'ØØ.2ñTØ˜3‘-ðTàðTð ˜%  T 	Ñ*Ñ+ôTr.   