Ë
    Áš¾jÇ  ã                   ó(  — 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mZ d dlmZ d dlmZ d dlmZ d dlmZ d dlZerd dlmZ g fd	ed
ee   fd„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fd„Zy)é    )	ÚTYPE_CHECKINGÚDictÚAnyÚTupleÚCallableÚListÚOptionalÚIOÚUnionN)ÚPath)Úutil)ÚErrors)Úregistry)ÚPrinter)ÚLanguageÚproject_nameÚremove_config_valuesc                 óh  ‡ ‡‡‡	— 	 dd l Š	ddl m}m}m} t        j                  dd«      } |d¬«      Št        j                  t        j                  fdd	d
t        dt        dt        t        t        t        t        f   gd f   t        g d f   f   fˆˆ ˆˆ	fd„}|S # t        $ r d}t	        |«      ‚w xY w)Nr   )ÚinitÚlogÚjoinz®The 'wandb' library could not be found - did you install it? Alternatively, specify the 'ConsoleLogger' in the 'training.logger' config section, instead of the 'WandbLogger'.Úloggerszspacy.ConsoleLogger.v1F)Úprogress_barÚnlpr   ÚstdoutÚstderrÚreturnc                 ó>  •‡‡	— | j                   j                  «       }t        j                  |«      }‰D ]  }||= Œ t        j                  |«      }‰j                  ‰|d¬«        ‰
| ||«      \  Š	Šdt        t        t        t        f      fˆ	ˆfd„}dˆˆfd„}||fS )NT)ÚprojectÚconfigÚreinitÚinfoc                 ó   •—  ‰| «       | �}| d   }| d   }| d   }‰j                  d|i«       |r6‰j                  |j                  «       D ��ci c]  \  }}d|› �|“Œ c}}«       t        |t        «      r‰j                  |«       y y y c c}}w )NÚscoreÚother_scoresÚlossesÚloss_)r   ÚitemsÚ
isinstanceÚdict)r"   r$   r%   r&   ÚkÚvÚconsole_log_stepÚwandbs         €€ú^/home/spazio/kingdom_calls/work5/transenv/lib/python3.12/site-packages/spacy_legacy/loggers.pyÚlog_stepz7wandb_logger_v1.<locals>.setup_logger.<locals>.log_step*   s’   ø€ Ù˜TÔ"ØÐØ˜W™�Ø# NÑ3�Ø˜h™�Ø—	‘	˜7 EÐ*Ô+ÙØ—I‘I¸&¿,¹,».×I±$°!°Q  q c˜{¨A™~ÓIÔJÜ˜l¬DÔ1Ø—I‘I˜lÕ+ð 2ð  ùó Js   ÁB

c                  ó4   •—  ‰ «        ‰j                  «        y ©N)r   )Úconsole_finalizer.   s   €€r/   Úfinalizez7wandb_logger_v1.<locals>.setup_logger.<locals>.finalize6   s   ø€ ÙÔØ�J‰J�Ló    ©r   N)
r    Úinterpolater   Údict_to_dotÚdot_to_dictr   r	   r   Ústrr   )r   r   r   r    Ú
config_dotÚfieldr0   r4   r3   r-   Úconsoler   r   r.   s           @@€€€€r/   Úsetup_loggerz%wandb_logger_v1.<locals>.setup_logger   s    ú€ ð —‘×'Ñ'Ó)ˆÜ×%Ñ% fÓ-ˆ
Ø)ò 	"ˆEØ˜5Ñ!ð	"ä×!Ñ! *Ó-ˆØ�
‰
˜<°¸tˆ
ÔDÙ-4°S¸&À&Ó-IÑ*ÐÐ*ð
	,œ8¤D¬¬c¨¡NÑ3ö 
	,ö	ð ˜Ð!Ð!r5   )r.   r   r   r   ÚImportErrorr   ÚgetÚsysr   r   r
   r   r   r   r:   r   )
r   r   r   r   r   Úerr_msgÚconsole_loggerr>   r=   r.   s
   ``      @@r/   Úwandb_logger_v1rD      sÀ   û€ ð
#Ûß)Ñ)ô —\‘\ )Ð-EÓF€NÙ¨%Ô0€Gô '*§j¡j¼s¿z¹zñ"Øð"Ü!#ð"Ü:<ð"ä	Œxœœc¤3˜h™Ð(¨$Ð.Ñ/´¸"¸d¸(Ñ1CÐCÑ	D÷"ð "ð: ÐøôS ò #ðð 	ô ˜'Ó"Ð"ð#ús   †B ÂB1é   )Ú	max_widthÚcolsÚwidthsrF   r   c                 ó  — 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)rG   rH   rF   Ú
final_colsÚfinal_widthsÚcolÚwidthÚ_s           r/   Úsetup_tablerV   ?   s“   € ð €JØ€LÜ˜$ Ó'ò 2‰
ˆˆUÜˆs‹8�iÒØ�o˜	 A™Ð&¨Ñ.ˆCØ×Ñ˜#Ÿ)™)›+Ô&Ø×ÑœC¤ C£¨%Ó0Õ1ð	2ð
 �|°<Ö%@¨a¢cÒ%@Ð@Ð@ùÒ%@s   Á;	Br   Úconsole_outputÚoutput_filec                 óP   — t        j                  dd«      } || 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.
    r   zspacy.ConsoleLogger.v3FNÚeval)r   rW   rX   )r   r@   )r   rW   rX   rC   s       r/   Úconsole_logger_v2r[   L   s4   € ô —\‘\ )Ð-EÓF€NÙØ)¨UÑ2‘T¸Ø%Øôð r5   c                 óÚ   ‡ — 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 )Nr   r   r   r   r   c                 ó$  •‡‡‡‡‡‡‡‡‡‡‡— ˆfd„Št        d¬«      Š| j                  D ��cg c]  \  }}t        |d«      r|j                  r|‘Œ! c}}Š| j                  d   d   Š| j                  d   d   }|j                  «       D ��cg c]
  \  }}|€Œ	|‘Œ c}}Š‰D �cg c]  }d|› �‘Œ	 }	}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t        t        t        t        f      dd fˆˆˆˆˆˆˆˆˆˆˆfd„}d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)Útextr   s    €r/   ú<lambda>z:console_logger_v1.<locals>.setup_printer.<locals>.<lambda>b   s   ø€ œU 4¨f¸DÔA€ r5   T)Úno_printÚis_trainableÚtrainingÚeval_frequencyÚscore_weightszLoss é   ÚEú#ÚScorerJ   é   é   )rG   rH   )rH   Úspacingú-)ro   r"   r   c           	      óè  •— | €‰�‰j                  d«       y ‰	D �cg c]"  }dj                  t        | d   |   «      «      ‘Œ$ }}g }‰D ]M  }| d   j                  |d«      }	 t        |«      }|dk7  r|dz  }|j                  dj                  |«      «       ŒO | d	   | d
   g|z   |z   dj                  t        | d   «      «      gz   }‰�‰j                  «         ‰‰
j                  |‰‰‰¬«      «       ‰r4t        j                  ‰d d‰¬«      Š‰j                  d| d	   dz   › �«       y y c c}w # t        $ r7 t
        j                  j                  |t        |«      ¬«      }t        |«      d ‚w xY w)Né   z{0:.2f}r&   r%   g        )ÚnameÚ
score_typeÚspeedéd   ÚepochÚstepr$   )rH   Úalignsro   F)ÚtotalÚdisableÚleaver_   zEpoch )ÚupdateÚformatÚfloatr@   Ú	TypeErrorr   ÚE916ÚtypeÚ
ValueErrorrN   ÚcloseÚrowÚtqdmÚset_description)r"   Ú	pipe_namer&   ÚscoresrS   r$   ÚerrÚdatarg   Úlogged_pipesÚmsgÚprogressr   Ú
score_colsro   r   Útable_alignsÚtable_widthsÚwrites           €€€€€€€€€€€r/   r0   z:console_logger_v1.<locals>.setup_printer.<locals>.log_stepw   s²  ø€ ð ˆ|àÐ'Ø—O‘O AÔ&Øð ".öàð × Ñ ¤ t¨H¡~°iÑ'@Ó!AÕBðˆFð ð
 ˆFØ!ò 	7�Ø˜^Ñ,×0Ñ0°°cÓ:�ð4Ü! %›L�Eð ˜'’>Ø˜S‘L�EØ—‘˜i×.Ñ.¨uÓ5Õ6ð	7ð �g‘  V¡Ð-Øñàñð ×#Ñ#¤E¨$¨w©-Ó$8Ó9Ð:ñ;ð ð Ð#Ø—‘Ô ÙØ—‘˜ \¸,ÐPW�ÓXôñ äŸ9™9Ø(°$¸eÈ&ô�ð ×(Ñ(¨6°$°w±-À±/Ð1BÐ)CÕDð ùò9øô !ò 4Ü Ÿ+™+×,Ñ,°#Ä$ÀuÃ+Ð,ÓN�CÜ$ S›/¨tÐ3ð4ús   œ'D,Á"D1Ä1A E1c                   ó   — y r2   © r”   r5   r/   r4   z:console_logger_v1.<locals>.setup_printer.<locals>.finalize¢   s   € Ør5   r6   )r   ÚpipelineÚhasattrre   r    r(   rV   r…   r	   r   r:   r   )r   r   r   rs   Úprocrh   rS   ÚvalueÚpipeÚ	loss_colsrU   Útable_headerrT   r0   r4   rg   rŒ   r�   rŽ   r�   ro   r�   r‘   r’   r   s    ``            @@@@@@@@@€r/   Úsetup_printerz(console_logger_v1.<locals>.setup_printer_   s¥  ÿû€ ó BˆÜ˜tÔ$ˆð "Ÿl™l÷
á��dÜ�t˜^Ô,°×1BÒ1Bò ó
ˆð
 Ÿ™ JÑ/Ð0@ÑAˆØŸ
™
 :Ñ.¨Ñ?ˆØ,9×,?Ñ,?Ó,A×W™j˜c 5ÀUÑEV’cÓWˆ
Ø0<Ö=¨�u˜T˜F’^Ð=ˆ	Ð=ØˆÜ3>Ø�s�˜iÑ'¨*Ñ4¸°yÑ@Ø�q�6¨	Ö2 1šQÒ2Ñ2ÀÖ5L¸A²aÒ5LÑLÐPQÈsÑRô4
Ñ0ˆ�l Lñ 	ˆc�g‰g�l¨<ÀˆgÓIÔJÙˆc�g‰g°Ö= u�s˜U“{Ò=ÀwˆgÓOÔPØˆð)	Eœ8¤D¬¬c¨¡NÑ3ð )	E¸÷ )	E÷ )	EóV	ð ˜Ð!Ð!ùóA
ùó XùÚ=ùò 3ùÒ5Lùò >s)   ­$E2Â
E8ÂE8Â#E>Ã	FÃ	FÄ#F)
rA   r   r   r
   r   r   r	   r   r:   r   )r   rœ   s   ` r/   Úconsole_logger_v1r�   ^   sp   ø€ ä&)§j¡j¼s¿z¹zñF"ØðF"Ü!#ðF"Ü:<ðF"ä	Œxœ¤$¤s¬C x¡.Ñ1Ð2°DÐ8Ñ9¼8ÀBÈÀHÑ;MÐMÑ	NõF"ðP Ðr5   )FTN)F)Útypingr   r   r   r   r   r   r	   r
   r   rA   Úpathlibr   Úspacyr   Úspacy.errorsr   Ú
spacy.utilr   Úwasabir   r†   Úspacy.languager   r:   rD   ÚintrV   Úboolr[   r�   r”   r5   r/   ú<module>r§      sÝ   ðß W× WÕ WÛ 
å Ý Ý Ý Ý Û áÝ'ð JLñ - #ð -¸TÀ#¹Yó -ðb =?ò
AØ�#‰Yð
AØ $ S¡	ð
AØ69ð
Aà
ˆ4�‰9�d˜3‘i  c¡Ð*Ñ+ó
Að ØØ.2ñØðàðð ˜%  T 	Ñ*Ñ+óñ$I Dô Ir5   