Ë
    Áš¾j-  ã                   óT  — d dl mZmZmZmZmZmZmZ d dl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mZmZ ddlmZmZ  e«       dddddfd	ed
edee   dee   dee   dee   dee   deee      defd„Z e«       ddddfd	ed
edee   dee   dee   dee   dee   defd„Zde	fd„Zddd e«       fde	ddd	ed
edee   dee   dee   dee   deeeef   fd„Z	 	 	 	 	 d!deeeef      dedee   dee   dee   dee   dee   fd„Zdefd„Zdedeeeef      deegef   fd „Zy)"é    )ÚDictÚAnyÚTupleÚCallableÚListÚOptionalÚIO)Ú
ModuleTypeN)ÚLanguage)ÚSimpleFrozenListé   )Údict_to_dotÚdot_to_dictÚmatcher_for_regex_patterns)Úsetup_default_console_loggerÚLoggerTÚproject_nameÚ	task_nameÚremove_config_valuesÚmodel_log_intervalÚlog_dataset_dirÚlog_best_dirÚlog_latest_dirÚlog_custom_statsÚreturnc                 ó  ‡ ‡‡‡‡‡‡‡‡	— t        «       Š	t        j                  t        j                  fdt        dt
        dt
        dt        t        t        t        t        f   gdf   t        g df   f   fˆ	ˆˆˆˆˆˆ ˆˆf	d„}|S )a0  Creates a logger that interoperates with the ClearML framework.

    Args:
        project_name (str):
            The name of the project in the ClearML interface. The project will be created automatically if it doesn't exist yet.
        task_name (str):
            The name of the ClearML task. A task is an experiment that lives inside a project. Can be non-unique.
        remove_config_values (List[str]):
            A list of values to exclude from the config before it is uploaded to ClearML. Defaults to [].
        model_log_interval (Optional[int]):
            Steps to wait between logging model checkpoints to the ClearML dasboard (default: `None`). Will have no effect without also setting `log_best_dir` or `log_latest_dir`. Defaults to None.
        log_dataset_dir (Optional[str]):
            Directory containing the dataset to be logged and versioned as a ClearML Dataset. Defaults to None.
        log_best_dir (Optional[str]):
            Directory containing the best trained model as saved by spaCy, to be logged and versioned as a ClearML artifact. Defaults to None.
        log_latest_dir (Optional[str]):
            Directory containing the latest trained model as saved by spaCy, to be logged and versioned as a ClearML artifact. Defaults to None.
        log_custom_stats (Optional[List[str]]):
            A list of regular expressions that will be applied to the info dictionary passed to the logger. Statistics and metrics that match these regexps will be automatically logged. Defaults to None.

    Returns:
        LoggerT: Logger instance.
    ÚnlpÚstdoutÚstderrr   Nc           
      ó®   •	‡‡‡‡— t        ‰«      Št        ‰	| ‰‰‰‰
‰‰«      \  ŠŠŠdt        t        t        t
        f      fˆˆ	ˆˆ
ˆˆˆˆfd„}ˆfd„}||fS )NÚinfoc           	      óB   •— t        | ‰‰‰‰‰‰«       t        ‰| ‰«       y ©N)Ú_log_step_clearmlÚ_log_custom_stats)	r!   Ú
best_modelÚclearmlÚ
last_modelr   r   Ú
match_statr   Útasks	    €€€€€€€€ú_/home/spazio/kingdom_calls/work5/transenv/lib/python3.12/site-packages/spacy_loggers/clearml.pyÚlog_stepz9clearml_logger_v2.<locals>.setup_logger.<locals>.log_step?   s.   ø€ ÜØØØØØ"ØØôô ˜g t¨ZÕ8ó    c                  ó   •— t        ‰ «       y r#   ©Ú_finalize_clearml©r*   s   €r+   Úfinalizez9clearml_logger_v2.<locals>.setup_logger.<locals>.finalizeK   s   ø€ Ü˜dÕ#r-   )r   Ú_setup_clearmlr   r   Ústrr   )r   r   r   r,   r2   r&   r(   r)   r*   r'   r   r   r   r   r   r   r   r   s        @@@@€€€€€€€€€r+   Úsetup_loggerz'clearml_logger_v2.<locals>.setup_logger0   si   ü€ ô 0Ð0@ÓAˆ
Ü'5ØØØØØØØØ ó	(
Ñ$ˆˆj˜*ð
	9œ8¤D¬¬c¨¡NÑ3÷ 
	9ô 
	9ô	$ð ˜Ð!Ð!r-   ©Ú_import_clearmlÚsysr   r   r   r	   r   r   r   r4   r   )
r   r   r   r   r   r   r   r   r5   r'   s
   ```````` @r+   Úclearml_logger_v2r9      sy   ÿø€ ôB Ó€Gô %(§J¡J¼S¿Z¹Zñ"Üð"Ü!ð"Ü8:ð"ä	Œxœœc¤3˜h™Ð(¨$Ð.Ñ/´¸"¸d¸(Ñ1CÐCÑ	D÷"õ "ð@ Ðr-   c                 ó  ‡ ‡‡‡‡‡‡‡— t        «       Št        j                  t        j                  fdt        dt
        dt
        dt        t        t        t        t        f   gdf   t        g df   f   fˆˆˆˆˆˆ ˆˆfd„}|S )a4  Creates a logger that interoperates with the ClearML framework.

    Args:
        project_name (str):
            The name of the project in the ClearML interface. The project will be created automatically if it doesn't exist yet.
        task_name (str):
            The name of the ClearML task. A task is an experiment that lives inside a project. Can be non-unique.
        remove_config_values (List[str]):
            A list of values to exclude from the config before it is uploaded to ClearML. Defaults to [].
        model_log_interval (Optional[int]):
            Steps to wait between logging model checkpoints to the ClearML dasboard (default: `None`). Will have no effect without also setting `log_best_dir` or `log_latest_dir`. Defaults to None.
        log_dataset_dir (Optional[str]):
            Directory containing the dataset to be logged and versioned as a ClearML Dataset. Defaults to None.
        log_best_dir (Optional[str]):
            Directory containing the best trained model as saved by spaCy, to be logged and versioned as a ClearML artifact. Defaults to None.
        log_latest_dir (Optional[str]):
            Directory containing the latest trained model as saved by spaCy, to be logged and versioned as a ClearML artifact. Defaults to None.

    Returns:
        LoggerT: Logger instance.
    r   r   r   r   Nc           
      óº   •‡‡‡‡‡	— t        | ||«      \  ŠŠt        ‰
| ‰‰‰‰‰‰«      \  Š	ŠŠdt        t        t        t
        f      fˆˆˆˆˆˆˆ	fd„}ˆˆ	fd„}||fS )Nr!   c           	      ó8   •—  ‰| «       t        | ‰‰‰‰‰‰«       y r#   )r$   )r!   r&   Úconsole_log_stepr(   r   r   r   r*   s    €€€€€€€r+   r,   z9clearml_logger_v1.<locals>.setup_logger.<locals>.log_step…   s(   ø€ Ù˜TÔ"ÜØØØØØ"ØØõr-   c                  ó*   •—  ‰ «        t        ‰«       y r#   r/   )Úconsole_finalizer*   s   €€r+   r2   z9clearml_logger_v1.<locals>.setup_logger.<locals>.finalize‘   s   ø€ ÙÔÜ˜dÕ#r-   )r   r3   r   r   r4   r   )r   r   r   r,   r2   r&   r?   r=   r(   r*   r'   r   r   r   r   r   r   r   s        @@@@@€€€€€€€€r+   r5   z'clearml_logger_v1.<locals>.setup_loggert   sy   ý€ ô .JØ�˜ó.
Ñ*ÐÐ*ô (6ØØØØØØØØ ó	(
Ñ$ˆˆj˜*ð
	œ8¤D¬¬c¨¡NÑ3÷ 
	ó 
	õ	$ð ˜Ð!Ð!r-   r6   )	r   r   r   r   r   r   r   r5   r'   s	   ``````` @r+   Úclearml_logger_v1r@   T   sw   ÿ€ ô< Ó€Gô %(§J¡J¼S¿Z¹Zñ!"Üð!"Ü!ð!"Ü8:ð!"ä	Œxœœc¤3˜h™Ð(¨$Ð.Ñ/´¸"¸d¸(Ñ1CÐCÑ	D÷!"ô !"ðF Ðr-   c                  ó^   — 	 dd l } ddl m}m}m} | S # t        $ r}t	        d«      |‚d }~ww xY w)Nr   )ÚTaskÚDatasetÚOutputModelz²The 'clearml' library could not be found - did you install it? Alternatively, specify the 'ConsoleLogger' in the 'training.logger' config section, instead of the 'ClearMLLogger'.)r'   rB   rC   rD   ÚImportError)r'   rB   rC   rD   Úexcs        r+   r7   r7   š   sC   € ð
Û÷ 	7Ñ6ð €Nøô ò ÜðPó
ð ð		ûðús   ‚ ’	,›'§,r'   r   r   c                 óp  — |j                   j                  «       }t        |«      }	|D ]  }
|	|
= Œ t        |	«      }| j                  j                  ||d¬«      }|j                  «       D ]  \  }}|j                  ||¬«       Œ |r{| j                  j                  |t        j                  j                  |«      ¬«      }|j                  |«       |j                  d¬«       |j                  d|j                   dœ«       |r| j#                  |dd	¬
«      }nd }|r| j#                  |dd¬
«      }nd }|||fS )NT)r   r   Ú
output_uri)Úname)Údataset_projectÚdataset_name)Úauto_uploadzCreated Dataset ID)rI   ÚvalueÚspaCyz
Best Model)r*   Ú	frameworkrI   z
Last Model)ÚconfigÚinterpolater   r   rB   ÚinitÚitemsÚconnectrC   ÚcreateÚosÚpathÚbasenameÚ	add_filesr2   Úset_user_propertiesÚidrD   )r'   r   r   r   r   r   r   r   rP   Ú
config_dotÚfieldr*   Úconfig_sectionÚsubconfig_or_valueÚdatasetr&   r(   s                    r+   r3   r3   ©   s]  € ð �Z‰Z×#Ñ#Ó%€FÜ˜VÓ$€JØ%ò ˆØ�uÑðä˜Ó$€FØ�<‰<×ÑØ!ØØð ó €Dð
 /5¯l©l«nò >Ñ*ˆÐ*Ø�‰Ð'¨nˆÕ=ð>ñ Ø—/‘/×(Ñ(Ø(ÜŸ™×)Ñ)¨/Ó:ð )ó 
ˆð 	×Ñ˜/Ô*Ø×Ñ TÐÔ*Ø× Ñ à,Ø Ÿ™ñô	
ñ Ø×(Ñ(Ø ¨|ð )ó 
‰
ð ˆ
ÙØ×(Ñ(Ø ¨|ð )ó 
‰
ð ˆ
à�˜ZÐ'Ð'r-   r!   r*   r&   r(   c                 ó¸  — | €y | j                  d«      }| j                  d«      }| j                  d«      }	|r&|j                  «       j                  dd| d   |¬«       |	rD|	j                  «       D ]1  \  }
}|j                  «       j                  d|
› �d|
› �| d   |¬«       Œ3 t	        |t
        «      r¯|j                  «       D ]œ  \  }
}t	        |t
        «      rJt        |«      }|j                  «       D ]+  \  }}|j                  «       j                  |
|| d   |¬«       Œ- Œ`t	        |t        t        f«      sŒw|j                  «       j                  |
|
| d   |¬«       Œž |ru| j                  d	«      rc| d   |z  d
k(  rW| d   d
k7  rN|r|€J ‚|j                  |dd¬«       |r1| d   t        | d   «      d
   k(  r|€J ‚|j                  |dd¬«       y y y y y y y )NÚscoreÚother_scoresÚlossesÚScoreÚstep)Ú	iterationrM   Úloss_©ÚtitleÚseriesrg   rM   Úoutput_pathr   Fr(   )Úweights_pathÚauto_delete_fileÚtarget_filenameÚcheckpointsr&   )ÚgetÚ
get_loggerÚreport_scalarrS   Ú
isinstanceÚdictr   ÚfloatÚintÚupdate_weights_packageÚmax)r!   r*   r&   r(   r   r   r   rb   rc   rd   ÚmetricÚmetric_valueÚsub_metrics_dictÚ
sub_metricÚsub_metric_values                  r+   r$   r$   ß   s8  € ð €|Øà�H‰H�WÓ€EØ—8‘8˜NÓ+€LØ�X‰X�hÓ€FÙØ�‰Ó×'Ñ'Ø�W¨¨V©¸Eð 	(ô 	
ñ Ø$*§L¡L£Nò 	Ñ ˆF�LØ�O‰OÓ×+Ñ+Ø˜f˜XÐ&Ø˜v˜hÐ'Ø˜v™,Ø"ð	 ,õ ð	ô �,¤Ô%ð %1×$6Ñ$6Ó$8ò 	Ñ ˆF�LÜ˜,¬Ô-Ü#.¨|Ó#<Ð ð &×+Ñ+Ó-òñ ØØ$ð —O‘OÓ%×3Ñ3Ø$Ø)Ø"& v¡,Ø.ð	 4õ ñô ˜L¬5´#¨,Õ7Ø—‘Ó!×/Ñ/ØØØ" 6™lØ&ð	 0õ ð!	ñ. ˜dŸh™h }Ô5Ø�‰<Ð,Ñ,°Ò1°d¸6±lÀaÒ6GÙØ!Ð-Ð-Ð-Ø×1Ñ1Ø!/Ø%*Ø$0ð 2ô ñ
   W¡´°T¸-Ñ5HÓ1IÈ!Ñ1LÒ LØ!Ð-Ð-Ð-Ø×1Ñ1Ø!-Ø%*Ø$0ð 2õ ð !Mˆ|ð 7HÐ1ð 6Ðr-   c                 óH   — | j                  d¬«       | j                  «        y )NT)Úwait_for_uploads)ÚflushÚcloser1   s    r+   r0   r0   &  s   € Ø‡J�J €JÔ%Ø‡J�J…Lr-   Úmatcherc                 ó¤   — |�N|j                  «       D ]:  \  }} ||«      sŒ| j                  «       j                  d|› �d|› �|d   |¬«       Œ< y y )Nrh   rf   ri   )rS   rr   rs   )r*   r!   rƒ   ÚkÚvs        r+   r%   r%   +  se   € ð ÐØ—J‘J“Lò 	‰DˆAˆqÙ�q�zØ—‘Ó!×/Ñ/Ø! ! ˜+Ø" 1 #˜;Ø" 6™lØð	 0õ ñ	ð r-   )NNNNN) Útypingr   r   r   r   r   r   r	   Útypesr
   rV   r8   Úspacyr   Ú
spacy.utilr   Úutilr   r   r   r   r   r4   rw   r9   r@   r7   r3   r$   r0   Úboolr%   © r-   r+   ú<module>rŽ      sš  ðß A× AÑ AÝ Û 	Û 
å Ý 'ß FÑ Fß 7ñ '7Ó&8Ø(,Ø%)Ø"&Ø$(Ø,0ñCØðCàðCð ˜s™)ðCð ! ™ð	Cð
 ˜c‘]ðCð ˜3‘-ðCð ˜S‘MðCð ˜t C™yÑ)ðCð óCñT '7Ó&8Ø(,Ø%)Ø"&Ø$(ñCØðCàðCð ˜s™)ðCð ! ™ð	Cð
 ˜c‘]ðCð ˜3‘-ðCð ˜S‘MðCð óCðL˜ó ð( &*Ø"&Ø$(Ù&6Ó&8ñ3(Øð3(à	ð3(ð ð3(ð ð	3(ð
 ˜c‘]ð3(ð ˜3‘-ð3(ð ˜S‘Mð3(ð ˜s™)ð3(ð ˆ3��Sˆ=Ñó3(ðr !%Ø $Ø(,Ø"&Ø$(ñDØ
�4˜˜S˜‘>Ñ
"ðDà
ðDð ˜‘ðDð ˜‘ð	Dð
 ! ™ðDð ˜3‘-ðDð ˜S‘MóDðN˜Có ð
Ø
ðØ˜d 3¨ 8™nÑ-ðØ8@À#ÀÈÀÑ8Môr-   