
    h                     B   S SK JrJrJrJrJrJrJrJrJ	r	  S SK
r
S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKr\(       a  S SKJr  / 4S	\S
\\   4S jjrSS.S\\   S\\   S\S\\\   \\   \\   4   4S jjr   SS\S\S\\	\\4      4S jjrSS\4S jjrg)    )	TYPE_CHECKINGDictAnyTupleCallableListOptionalIOUnionN)Path)util)Errors)registry)Printer)Languageproject_nameremove_config_valuesc                 l  ^ ^^^	  SS K m	SSK JnJnJn  [
        R                  " SS5      nU" SS9m[        R                  [        R                  4SS	S
[        S[        S[        [        [        [        [        4   /S 4   [        / S 4   4   4UU UU	4S jjjnU$ ! [         a    Sn[	        U5      ef = f)Nr   )initlogjoinzThe '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                 B  >^^	 U R                   R                  5       n[        R                  " U5      nT H  nXE	 M     [        R                  " U5      nTR                  TUSS9  T
" XU5      u  m	mS[        [        [        [        4      4U	U4S jjnSUU4S jjnXg4$ )NT)projectconfigreinitinfoc                 :  > T" U 5        U b  U S   nU S   nU S   nTR                  SU05        U(       a8  TR                  UR                  5        VVs0 s H  u  pESU 3U_M     snn5        [        U[        5      (       a  TR                  U5        g g g s  snnf )Nscoreother_scoreslossesloss_)r   items
isinstancedict)r"   r$   r%   r&   kvconsole_log_stepwandbs         N/home/james-whalen/.local/lib/python3.13/site-packages/spacy_legacy/loggers.pylog_step7wandb_logger_v1.<locals>.setup_logger.<locals>.log_step*   s    T"W#N3h		7E*+II&,,.I.$!qc{A~.IJlD11IIl+ 2   Js   B
c                  4   > T " 5         TR                  5         g N)r   )console_finalizer.   s   r/   finalize7wandb_logger_v1.<locals>.setup_logger.<locals>.finalize6   s    JJL    r   N)
r    interpolater   dict_to_dotdot_to_dictr   r	   r   strr   )r   r   r   r    
config_dotfieldr0   r5   r4   r-   consoler   r   r.   s           @@r/   setup_logger%wandb_logger_v1.<locals>.setup_logger   s     '')%%f-
)E! *!!*-

<t
D-4S&-I**
	,8DcN3 
	, 
	,	 	 !!r7   )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_v1rG      s    
#)) \\)-EFN%0G '*jjszz""!#":<"	xc3h($./"d(1CC	D" ": S  # 	 '""#s   B B3   )	max_widthcolswidthsrI   r   c                     / n/ n[        X5       Hb  u  pV[        U5      U:  a  US US-
   S-   nUR                  UR                  5       5        UR                  [	        [        U5      U5      5        Md     X4U Vs/ s H  nSPM     sn4$ s  snf )N   z...r)ziplenappenduppermax)rJ   rK   rI   
final_colsfinal_widthscolwidth_s           r/   setup_tablerY   ?   s     JL$'
s8io	A&.C#))+&CC%01	 (
 <%@<ac<%@@@%@s   ;Br   console_outputoutput_filec                 N    [         R                  " SS5      nU" U SL a  SOSUUS9$ )aw  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   rZ   r[   )r   rC   )r   rZ   r[   rF   s       r/   console_logger_v2r^   L   s4     \\)-EFN)U2T% r7   c                    ^  [         R                  [         R                  4SSS[        S[        S[        [
        [        [        [        [        4      /S 4   [
        / S 4   4   4U 4S jjjnU$ )Nr   r   r   r   r   c                 R  >^^^^^^^^^^^ U4S jm[        SS9mU R                   VVs/ s H-  u  p4[        US5      (       d  M  UR                  (       d  M+  UPM/     snnmU R                  S   S   mU R                  S   S   nUR                  5        VVs/ s H  u  pgUc  M
  UPM     snnmT Vs/ s H  nSU 3PM
     n	nS	m[        S
S/U	-   T-   S/-   SS/U	 V
s/ s H  n
SPM     sn
-   T V
s/ s H  n
SPM     sn
-   S/-   S9u  nmmT" TR                  UTTS95        T" TR                  T Vs/ s H  nSU-  PM
     snTS95        S mS[        [        [        [        4      SS 4UUUUUUUUUUU4S jjnSS jnX4$ s  snnf s  snnf s  snf s  sn
f s  sn
f s  snf )Nc                    > [        U TSS9$ )NT)fileflush)print)textr   s    r/   <lambda>:console_logger_v1.<locals>.setup_printer.<locals>.<lambda>b   s    U4fDAr7   T)no_printis_trainabletrainingeval_frequencyscore_weightszLoss    E#ScorerM         )rJ   rK   )rK   spacing-)rs   r"   r   c           	        > U c  Tb  TR                  S5        g T	 Vs/ s H#  nSR                  [        U S   U   5      5      PM%     nn/ nT HO  nU S   R                  US5      n [        U5      nUS:w  a  US-  nUR                  SR                  U5      5        MQ     U S	   U S
   /U-   U-   SR                  [        U S   5      5      /-   nTb  TR                  5         T" T
R                  UTTTS95        T(       a2  [        R                  " TS STS9mTR                  SU S	   S-    35        g g s  snf ! [         a4    [
        R                  R                  U[        U5      S9n[        U5      S ef = f)N   z{0:.2f}r&   r%   g        )name
score_typespeedd   epochstepr$   )rK   alignsrs   F)totaldisableleaverb   zEpoch )updateformatfloatrC   	TypeErrorr   E916type
ValueErrorrQ   closerowtqdmset_description)r"   	pipe_namer&   scoresrV   r$   errdatark   logged_pipesmsgprogressr   
score_colsrs   r   table_alignstable_widthswrites           r/   r0   :console_logger_v1.<locals>.setup_printer.<locals>.log_stepw   s    |'OOA& ".!-I   tH~i'@!AB!-  
 F!^,00c:4!%LE '>SLEi..u56 " gV- ##E$w-$89:;  # \,PWX 99($e& ((6$w-/1B)CD 9 ! 4 ++,,#$u+,NC$S/t34s   *D5'D::>E8c                      g r3    r   r7   r/   r5   :console_logger_v1.<locals>.setup_printer.<locals>.finalize   s    r7   r8   )r   pipelinehasattrri   r    r(   rY   r   r	   r   r<   r   )r   r   r   rw   procrl   rV   valuepipe	loss_colsrX   table_headerrW   r0   r5   rk   r   r   r   r   rs   r   r   r   r   s    ``            @@@@@@@@@r/   setup_printer(console_logger_v1.<locals>.setup_printer_   s    Bt$ "ll
*
t^, 151B1B *

 J/0@A

:.?,9,?,?,AW,AjcUc,AW
0<=uTF^	=3>si'*4y@q6	2	1Q	225LAa5LLPQsR4
0lL 	cggl<gIJcgg=usU{=wgOP)	E8DcN3 )	E )	E )	E )	EV	 !!A
 X= 35L >s5   F	F	F		F'F5F!F5F8F$)
rD   r   r   r
   r   r   r	   r   r<   r   )r   r   s   ` r/   console_logger_v1r   ^   sv    &)jjszzF"F"!#F":<F"	x$sCx.12D898BH;MM	NF" F"P r7   )FTN)F)typingr   r   r   r   r   r   r	   r
   r   rD   pathlibr   spacyr   spacy.errorsr   
spacy.utilr   wasabir   r   spacy.languager   r<   rG   intrY   boolr^   r   r   r7   r/   <module>r      s    W W W 
      ' JL -# -T#Y -b =?
A#Y
A $S	
A69
A
49d3ic*+
A .2 %T	*+$ID Ir7   