+
    QV-j8Ì ã                   óv  € R t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
t
^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIHtHtHt ^ RIt^ RIt]P:                  ! R4      R8X  d	   ]! R4       ^R	IH t H!t! ^R
IH"t# ^RI$H%t%H&t&H't'H(t(H)t)H*t* ]*PV                  ! ],4      t-])! 4       '       d   ^ RI.t.Rt/ ]P`                  PG                  R4      t1Rt2]PF                  Pg                  ]14      ]PF                  Pg                  ]/4      8¬  t4^ RI5t5]5Pl                  Po                  R4      e   Rt8MRt8 ]P~                  P�                  R4      RJ;'       g    ]P~                  P�                  R4      RJtA]'       d:   ]A'       d2    ]P`                  PG                  R4      tB]-P‡                  R]B R24       ^RIHDtD ^RIEHFtFHGtG ^RIHHItIHJtJHKtK ^RILHMtM ^RI$HNtNHOtO R tPR tQR tRR tSR tTR  tUR! tVR" tWR# tXR$ tYR% tZR& t[R' t\R( t]R) t^R* t_R+ t`R, taR- tbR. R/ ltcR0 R1 ltdR2 R3 lteR4 tfR5 tgR6 R7 lth ! R8 R9]G4      tiR: R; ltj ! R< R=]k]4      tl ! R> R?]G4      tm ! R@ RA]G4      tn ! RB RC]G4      to ! RD RE]G4      tp ! RF RG]G4      tq ! RH RI]q4      tr ! RJ RK]s4      tt ! RL RM]G4      tu ! RN RO]G4      tv ! RP RQ]G4      tw ! RR RS]G4      tx ! RT RU]G4      ty ! RV RW]G4      tz ! RX RY]G4      t{RZ]pR]oR[]qR]uR\]iR]]nR^]mR_]vR`]wRa]rRb]xRc]yRd]zRe]{/t|Rf t}R#   ]P`                  Pr                  ]:];]<]=]>3 d    Rt1Rt2Rt4Rt8 ELi ; i  ]P`                  Pr                   d[     ]P`                  PG                  R4      tB]-P‡                  R]B R24        ELÖ  ]P`                  Pr                   d    RtA  EL÷i ; ii ; i)gz+
Integrations with other Python libraries.
N)Úfields)ÚEnum)ÚPath)ÚTYPE_CHECKINGÚAnyÚLiteralÚ
WANDB_MODEÚofflinez$[INFO] Running in WANDB offline mode)ÚPreTrainedModelÚTrainingArguments)Ú__version__)ÚPushToHubMixinÚflatten_dictÚis_datasets_availableÚis_pandas_availableÚis_torch_availableÚloggingz3.43.2Úcomet_mlTzcomet.api_keyFÚneptunezneptune-clientzNeptune version z available.zNeptune-client version )Ú	modelcard)ÚProgressCallbackÚTrainerCallback)ÚPREFIX_CHECKPOINT_DIRÚBestRunÚIntervalStrategy)ÚParallelMode)ÚENV_VARS_TRUE_VALUESÚis_torch_xla_availablec                  óh   € \         P                  P                  R 4      e   ^ RIp \	        V R4      # R# )ÚwandbNÚrunF)Ú	importlibÚutilÚ	find_specr   Úhasattr)r   s    Ú|/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/transformers/integrations/integration_utils.pyÚis_wandb_availabler&   h   s,   € Ü‡~�~×Ñ Ó(Ò4Ûô �u˜eÓ$Ð$áó    c                  óD   € \         P                  P                  R 4      RJ# )ÚtrackioN©r!   r"   r#   © r'   r%   Úis_trackio_availabler,   s   ó   € Ü�>‰>×#Ñ# IÓ.°dÐ:Ð:r'   c                  óD   € \         P                  P                  R 4      RJ# )ÚclearmlNr*   r+   r'   r%   Úis_clearml_availabler0   w   r-   r'   c                  óÀ   € \         R J d   R # \        R J d'   \        P                  R\        \
        \
        4       R # \        R J d   \        P                  R4       R # R# )Fz­comet_ml version %s is installed, but version %s or higher is required. Please update comet_ml to the latest version to enable Comet logging with pip install 'comet-ml>=%s'.a#  comet_ml is installed but the Comet API Key is not configured. Please set the `COMET_API_KEY` environment variable to enable Comet logging. Check out the documentation for other ways of configuring it: https://www.comet.com/docs/v2/guides/experiment-management/configure-sdk/#set-the-api-keyT)Ú_is_comet_installedÚ_is_comet_recent_enoughÚloggerÚwarningÚ_comet_versionÚ_MIN_COMET_VERSIONÚ_is_comet_configuredr+   r'   r%   Úis_comet_availabler9   {   sW   € Ü˜eÓ#Ùä %Ó'Ü�‰ðtäÜÜô	
ñ ä˜uÓ$Ü�‰ðhô	
ñ ár'   c                  ó–   € \         P                  P                  R 4      RJ;'       g"    \         P                  P                  R4      RJ# )ÚtensorboardNÚtensorboardXr*   r+   r'   r%   Úis_tensorboard_availabler=   •   s:   € Ü�>‰>×#Ñ# MÓ2¸$Ð>×vÐvÄ)Ç.Á.×BZÑBZÐ[iÓBjÐrvÐBvÐvr'   c                  óD   € \         P                  P                  R 4      RJ# )ÚoptunaNr*   r+   r'   r%   Úis_optuna_availabler@   ™   s   € Ü�>‰>×#Ñ# HÓ-°TÐ9Ð9r'   c                  óD   € \         P                  P                  R 4      RJ# )ÚrayNr*   r+   r'   r%   Úis_ray_availablerC   �   s   € Ü�>‰>×#Ñ# EÓ*°$Ð6Ð6r'   c                  óh   € \        4       '       g   R # \        P                  P                  R4      RJ# )Fzray.tuneN)rC   r!   r"   r#   r+   r'   r%   Úis_ray_tune_availablerE   ¡   s(   € Ü×ÒÙÜ�>‰>×#Ñ# JÓ/°tÐ;Ð;r'   c                  óÐ   € \         P                  P                  R 4      f   R# \         P                  P                  R4      f   R# \         P                  P                  R4      RJ# )ÚazuremlNFzazureml.corezazureml.core.runr*   r+   r'   r%   Úis_azureml_availablerH   §   sM   € Ü‡~�~×Ñ 	Ó*Ò2ÙÜ‡~�~×Ñ Ó/Ò7ÙÜ�>‰>×#Ñ#Ð$6Ó7¸tÐCÐCr'   c                  óœ   € \         P                  ! R R4      P                  4       R8X  d   R# \        P                  P                  R4      RJ# )ÚDISABLE_MLFLOW_INTEGRATIONÚFALSEÚTRUEFÚmlflowN)ÚosÚgetenvÚupperr!   r"   r#   r+   r'   r%   Úis_mlflow_availablerQ   ¯   s<   € Ü	‡y‚yÐ-¨wÓ7×=Ñ=Ó?À6ÔIÙÜ�>‰>×#Ñ# HÓ-°TÐ9Ð9r'   c                  ó„   € R \         P                  P                  R4      \         P                  P                  R4      39  # )NÚdagshubrM   r*   r+   r'   r%   Úis_dagshub_availablerT   µ   s1   € Øœ	Ÿ™×0Ñ0°Ó;¼Y¿^¹^×=UÑ=UÐV^Ó=_Ð`Ñ`Ð`r'   c                  ó   € \         # ©N)Ú_has_neptuner+   r'   r%   Úis_neptune_availablerX   ¹   s   € ÜÐr'   c                  óD   € \         P                  P                  R 4      RJ# )Ú
codecarbonNr*   r+   r'   r%   Úis_codecarbon_availabler[   ½   s   € Ü�>‰>×#Ñ# LÓ1¸Ð=Ð=r'   c                  óD   € \         P                  P                  R 4      RJ# )ÚflytekitNr*   r+   r'   r%   Úis_flytekit_availabler^   Á   s   € Ü�>‰>×#Ñ# JÓ/°tÐ;Ð;r'   c                  óh   € \        4       '       g   R # \        P                  P                  R4      RJ# )Fzflytekitplugins.deckN)r^   r!   r"   r#   r+   r'   r%   Ú is_flyte_deck_standard_availabler`   Å   s)   € Ü ×"Ò"ÙÜ�>‰>×#Ñ#Ð$:Ó;À4ÐGÐGr'   c                  óD   € \         P                  P                  R 4      RJ# )ÚdvcliveNr*   r+   r'   r%   Úis_dvclive_availablerc   Ë   r-   r'   c                  óD   € \         P                  P                  R 4      RJ# )ÚswanlabNr*   r+   r'   r%   Úis_swanlab_availablerf   Ï   r-   r'   c                  óŠ   € \         P                  ! R R4      P                  4       R8X  d   R# \         P                  ! R4      RJ# )ÚDISABLE_KUBEFLOW_INTEGRATIONrK   rL   FÚKUBEFLOW_TRAINER_SERVER_URLN)rN   rO   rP   r+   r'   r%   Úis_kubeflow_availablerj   Ó   s7   € Ü	‡y‚yÐ/°Ó9×?Ñ?ÓAÀVÔKÙÜ�9Š9Ð2Ó3¸4Ð?Ð?r'   c                 ó\  € \        4       '       d6   ^ RIp\        WP                  P                  4      '       d   V P
                  # \        4       '       d   \        V \        4      '       d   V # \        4       '       d   \        V \        4      '       d   V # \        RV P                   24      h)é    NzUnknown type for trial )r@   r?   Ú
isinstanceÚtrialÚ	BaseTrialÚparamsrE   Údictr&   ÚRuntimeErrorÚ	__class__)rn   r?   s   & r%   Ú	hp_paramsrt   Ù   s{   € Ü×ÒÛä�eŸ\™\×3Ñ3×4Ò4Ø—<‘<Ðä×ÒÜ�eœT×"Ò"ØˆLä×ÒÜ�eœT×"Ò"ØˆLä
Ð0°·±Ð0AÐBÓ
CÐCr'   c                ó<   € V ^8„  d   QhR\         R\        R\        /# ©é   Ún_trialsÚ	directionÚreturn©ÚintÚstrr   )Úformats   "r%   Ú__annotate__r   ë   s!   € ÷ >ñ >¬Cð >¼Cð >Ìgñ >r'   c           	      óz  a aa€ ^ RI o^ RIHo S P                  P                  ^ 8X  EdK   RV3R lVVV 3R lllpVP                  RR4      pVP                  R^4      pVP                  RR4      pVP                  R	R4      p\        V\        4      '       d   TMRp	V	e   RMTpSP                  ! RR
VRV	/VB p
V
P                  WAWVWxR7       V
P                  4       '       gA   V
P                  p\        \        VP                  4      VP                  VP                   4      # V
P"                  pV Uu. uF7  p\        \        VP                  4      VP$                  VP                   4      NK9  	  up# \'        V4       F³  pRS n        R.pS P                  P*                  \,        P.                  8w  d   \1        R4      h\2        P4                  P7                  V^ R7       S P9                  RV^ ,          R7       \;        S RR4      e   K�  S P=                  4       pS P?                  V4      S n        Kµ  	  R# u upi )rl   N)Úrelease_memoryc                ó2   <€ V ^8„  d   QhRSP                   /# ©rw   rn   )ÚTrial)r~   r?   s   "€r%   r   Ú*run_hp_search_optuna.<locals>.__annotate__ñ   s   ø€ ÷ 	%ñ 	%˜fŸl™lñ 	%r'   c                 ó”  <€ R pV'       dZ   \         P                  ! V4       F?  pVP                  \        4      '       g   K   \         P                  P                  W4      pKA  	  R S	n        S	P                  P                  ^8”  d­   S	P                  P                  \        P                  8w  d   \        R4      hS	P                  V 4       SP                  P                  V P                   V P"                  4      pV.p\$        P&                  P)                  V^ R7       S	P+                  W R7       MS	P+                  W R7       \-        S	RR 4      f'   S	P/                  4       pS	P1                  V4      S	n        S! S	P2                  S	P4                  4      w  S	n        S	n        S	P6                  P9                  4        S	P                  # )NúConly support DDP optuna HPO for ParallelMode.DISTRIBUTED currently.©Úsrc©Úresume_from_checkpointrn   Ú	objective)rN   ÚlistdirÚ
startswithr   ÚpathÚjoinrŒ   ÚargsÚ
world_sizeÚparallel_moder   ÚDISTRIBUTEDrr   Úhp_spacern   Ú
FixedTrialrp   ÚnumberÚtorchÚdistributedÚbroadcast_object_listÚtrainÚgetattrÚevaluateÚcompute_objectiveÚmodel_wrappedÚmodelÚacceleratorÚclear)
rn   Úcheckpoint_dirÚ
checkpointÚsubdirÚfixed_trialÚtrial_main_rank_listÚmetricsr?   r�   Útrainers
   &&     €€€r%   Ú
_objectiveÚ(run_hp_search_optuna.<locals>._objectiveñ   sa  ø€ ØˆJßÜ Ÿjšj¨Ö8�FØ×(Ñ(Ô)>×?Ô?Ü%'§W¡W§\¡\°.Ó%Iš
ñ 9ð !%ˆGÔØ�|‰|×&Ñ&¨Ô*Ø—<‘<×-Ñ-´×1IÑ1IÔIÜ&Ð'lÓmÐmØ× Ñ  Ô'Ø$Ÿl™l×5Ñ5°e·l±lÀEÇLÁLÓQ�Ø(3 }Ð$Ü×!Ñ!×7Ñ7Ð8LÐRSÐ7ÔTØ—‘°Z�ÕMà—‘°Z�ÔMä�w ¨TÓ2Ò:Ø!×*Ñ*Ó,�Ø$+×$=Ñ$=¸gÓ$F�Ô!ñ 4BÀ'×BWÑBWÐY`×YfÑYfÓ3gÑ0ˆGÔ! 7¤=Ø×Ñ×%Ñ%Ô'à×$Ñ$Ð$r'   ÚtimeoutÚn_jobsÚgc_after_trialFÚcatchry   Ú
directions)rx   r¬   r­   r®   r¯   r‡   rˆ   rŠ   rŒ   rV   r+   ) r?   Úaccelerate.utils.memoryr�   r‘   Úprocess_indexÚpoprm   ÚlistÚcreate_studyÚoptimizeÚ_is_multi_objectiveÚ
best_trialr   r}   r—   Úvaluerp   Úbest_trialsÚvaluesÚrangerŒ   r“   r   r”   rr   r˜   r™   rš   r›   rœ   r�   rž   )r©   rx   ry   Úkwargsrª   r¬   r­   r®   r¯   r°   Ústudyr¸   rº   ÚbestÚir§   r¨   r?   r�   s   f&&,             @@r%   Úrun_hp_search_optunarÁ   ë   sê  ú€ ÛÝ6à‡|�|×!Ñ! QÕ&÷	%÷ 	%ð8 —*‘*˜Y¨Ó-ˆØ—‘˜H aÓ(ˆØŸ™Ð$4°eÓ<ˆØ—
‘
˜7 BÓ'ˆÜ",¨Y¼×"=Ò"=‘YÀ4ˆ
Ø&Ò2‘D¸	ˆ	Ø×#Ò#ÑY¨iÐYÀJÐYÐRXÑYˆØ�‰Ø°7ÐZhð 	ô 	
ð ×(Ñ(×*Ò*Ø×)Ñ)ˆJÜœ3˜z×0Ñ0Ó1°:×3CÑ3CÀZ×EVÑEVÓWÐWà×+Ñ+ˆKÙT_Ó`ÑT_ÈD”GœC §¡Ó,¨d¯k©k¸4¿;¹;ÖGÑT_Ñ`Ð`ä�x–ˆAØ $ˆGÔØ$( 6Ð Ø�|‰|×)Ñ)¬\×-EÑ-EÔEÜ"Ð#hÓiÐiÜ×Ñ×3Ñ3Ð4HÈaÐ3ÔPØ�M‰M°Ð=QÐRSÕ=TˆMÔUä�w ¨TÓ2Ô:Ø!×*Ñ*Ó,�Ø$+×$=Ñ$=¸gÓ$F�Ö!ñ !ñ ùò as   Ä4=H8c                ó<   € V ^8„  d   QhR\         R\        R\        /# rv   r{   )r~   s   "r%   r   r   ,  s&   € ÷ Mñ M¬ð M¼ð MÌ7ñ Mr'   c                ó´  aa€ ^ RI oR V3R llpV P                  P                  '       g*   ^RIHp \
        P                  R4       V! RR7      V n        V P                  \        4      pRV n	        RV9  dn   R	^/VR&   V P                  P                  ^ 8”  d   ^VR,          R
&   RV P                  P                  ^ 8”  d   RMR,           p\
        P                  RV R24       VR,          P                  R
^ 4      pW€P                  n        RV9  d   ^ RI Hp	 V	! R.R7      VR&   RV9   d¢   ^ RIHp
HpHpHp \+        VR,          W¬W½34      '       d{   V P                  P,                  '       d*   V P                  P.                  \0        P2                  8X  d6   \5        RP7                  \9        VR,          4      P:                  R7      4      hSP<                  P?                  W@R7      o\@        PB                  ! S4      V3R l4       p\E        SR4      '       d   SPF                  Vn#        SP<                  PH                  ! V3RV PK                  R4      RV/VB p\L        PN                  ! RR4      pVPQ                  RVR,          VR 7      p\S        VPT                  VPV                  R,          VPX                  V4      pVe   V P[                  V4       V# )!aæ  
Environment:
    - **RAY_SCOPE** (`str`, *optional*, defaults to `"last"`):
        The scope to use when doing hyperparameter search with Ray. By default, `"last"` will be used. Ray
        will then use the last checkpoint of all trials, compare those, and select the best one. However,
        other options are also available. See the Ray documentation (https://docs.ray.io/en/latest/tune/api_docs/analysis.html#ray.tune.ExperimentAnalysis.get_best_trial)
        for more options
Nc                ó$   € V ^8„  d   QhR\         /# rƒ   )rq   )r~   s   "r%   r   Ú'run_hp_search_ray.<locals>.__annotate__7  s   € ÷ $@ñ $@œ$ñ $@r'   c                 óÚ  <€  ^ RI Hp VP                  V4      '       d   VP                  \        4       RTn        SP                  P                  4       pT'       dt   RTn        TP                  4       ;_uu_ 4       p\        \        T4      P                  \         R24      4      P                  4       pTP                  YPR7       RRR4       MTP                  T R7       \!        TRR4      fÁ   TP#                  4       pTP%                  T4      Tn        TP'                  RTP                  RR/4       \(        P*                  ! 4       ;_uu_ 4       pTP-                  TR	7       SP                  P.                  P1                  T4      pSP                  P3                  YcR
7       RRR4       R# R#   \
         d     EL�i ; i  + '       g   i     Ló; i  + '       g   i     R# ; i)rl   )ÚNotebookProgressCallbackNrŒ   Ú*rŠ   )rn   ÚdoneT)r£   )r¤   )Útransformers.utils.notebookrÇ   Úpop_callbackÚadd_callbackr   ÚModuleNotFoundErrorrŒ   ÚtuneÚget_checkpointÚas_directoryÚnextr   Úglobr   Úas_posixr›   rœ   r�   rž   ÚupdateÚtempfileÚTemporaryDirectoryÚ_tune_save_checkpointÚ
CheckpointÚfrom_directoryÚreport)	rn   Úlocal_trainerrÇ   r¤   r£   Úcheckpoint_pathr¨   Útemp_checkpoint_dirrB   s	   &&      €r%   rª   Ú%run_hp_search_ray.<locals>._objective7  s“  ø€ ð	ÝLà×)Ñ)Ð*B×CÒCØ×*Ñ*Ô+;Ô<ð #'ˆÔà—X‘X×,Ñ,Ó.ˆ
ßð '2ˆMÔ#à×(Ñ(×*Ô*¨nÜ"&¤t¨NÓ';×'@Ñ'@ÔDYÐCZÐZ[ÐA\Ó']Ó"^×"gÑ"gÓ"i�Ø×#Ñ#¸?Ð#ÔX÷ +Ð*ð ×Ñ eÐÔ,ô �= +¨tÓ4Ò<Ø#×,Ñ,Ó.ˆGØ&3×&EÑ&EÀgÓ&NˆMÔ#à�N‰N˜K¨×)@Ñ)@À&È$ÐOÔPä×,Ò,×.Ô.Ð2EØ×3Ñ3ÐCVÐ3ÔWØ ŸX™X×0Ñ0×?Ñ?Ð@SÓT�
Ø—‘—‘ �Ô?÷ /Ñ.ñ =øô+ #ô 	Úð	ú÷ +×*ú÷ /×.Ð.ús0   ƒF4  F4 Á=AGÅAGÆ4GÇGÇG	ÇG*	)ÚTrainerMemoryTrackerz�Memory tracking for your Trainer is currently enabled. Automatically disabling the memory tracker since the memory tracker is not serializable.T)Úskip_memory_metricsÚresources_per_trialÚcpuÚgpuz1 CPUz
 and 1 GPUÚ zgNo `resources_per_trial` arg was passed into `hyperparameter_search`. Setting it to a default value of z for each trial.Úprogress_reporter)ÚCLIReporterrŒ   )Úmetric_columnsÚ	scheduler)ÚASHASchedulerÚHyperBandForBOHBÚMedianStoppingRuleÚPopulationBasedTrainingaŽ  You are using {cls} as a scheduler but you haven't enabled evaluation during training. This means your trials will not report intermediate results to Ray Tune, and can thus not be stopped early or used to exploit other trials parameters. If this is what you want, do not use {cls}. If you would like to use {cls}, make sure you pass `do_eval=True` and `eval_strategy='steps'` in the Trainer `args`.)Úcls)rÛ   c                 óX  <€ \        4       '       Ed   \        P                  P                  \        P
                  P                  R4      4      \        P                  P                  R4      8  d´   ^ RIp\        P                  P                  VP                  P                  4       R4      p\        P                  P                  RV4      p\        P                  P                  V4      pV\        P                   VP"                  &   VP$                  P'                  V4       S! V / VB # )a  
Wrapper around `tune.with_parameters` to ensure datasets_modules are loaded on each Actor.

Without this, an ImportError will be thrown. See https://github.com/huggingface/transformers/issues/11565.

Assumes that `_objective`, defined above, is a function.
Údatasetsz4.0.0Nz__init__.pyÚdatasets_modules)r   Ú	packagingÚversionÚparser!   ÚmetadataÚdatasets.loadrN   r�   r�   ÚloadÚinit_dynamic_modulesr"   Úspec_from_file_locationÚmodule_from_specÚsysÚmodulesÚnameÚloaderÚexec_module)r‘   r½   rï   Údynamic_modules_pathÚspecrð   Ú	trainables   *,    €r%   Ú dynamic_modules_import_trainableÚ;run_hp_search_ray.<locals>.dynamic_modules_import_trainable”  sØ   ø€ ô !×"Ó"¤y×'8Ñ'8×'>Ñ'>Ü×Ñ×&Ñ& zÓ2ó(
ä×Ñ×#Ñ# GÓ,ô(-ó !ä#%§7¡7§<¡<°·±×0RÑ0RÓ0TÐVcÓ#dÐ ä—>‘>×9Ñ9Ð:LÐNbÓcˆDÜ(Ÿ~™~×>Ñ>¸tÓDÐØ%5ŒC�K‰K˜Ÿ	™	Ñ"Ø�K‰K×#Ñ#Ð$4Ô5Ù˜$Ð) &Ñ)Ð)r'   Ú
__mixins__ÚconfigÚnum_samplesÚ	RAY_SCOPEÚlast:Né   N)ÚmetricÚmodeÚscope).Úray.tuneÚ_memory_trackerrà   Útrainer_utilsrß   r4   r5   rË   ÚTensorBoardCallbackr    r‘   Ún_gpuÚinfoÚgetÚ_n_gpuræ   Úray.tune.schedulersré   rê   rë   rì   rm   Údo_evalÚeval_strategyr   ÚNOrr   r~   ÚtypeÚ__name__rÎ   Úwith_parametersÚ	functoolsÚwrapsr$   r  r    r•   rN   rO   Úget_best_trialr   Útrial_idÚlast_resultr  rÌ   )r©   rx   ry   r½   rª   rß   Ú
_tb_writerÚresource_msgÚgpus_per_trialræ   ré   rê   rë   rì   r  ÚanalysisÚ	ray_scoper¸   Úbest_runrB   r  s   &&&,               @@r%   Úrun_hp_search_rayr'  ,  s¢  ù€ ó ÷$@ð $@ðL ×"Ñ"×6×6Ð6Ý8ä�‰ð<ô	
ñ
 #7È4Ô"PˆÔð ×%Ñ%Ô&9Ó:€JØ€G„Mð  FÔ*à).°¨
ˆÐ$Ñ%Ø�<‰<×Ñ Ô!Ø34ˆFÐ(Õ)¨%Ñ0Ø°'·,±,×2DÑ2DÀqÔ2H¡,ÈbÕQˆÜ�‰ðà�Ð/ð1ô	
ð Ð1Õ2×6Ñ6°u¸aÓ@€NØ(‡L�LÔð  &Ô(Ý(á&1À+ÀÔ&OˆÐ"Ñ#à�fÔßtÓtô Ø�;Õ -ÐEUÐ!o÷
ò 
à—<‘<×'×'Ð'¨7¯<©<×+EÑ+EÔIY×I\ÑI\Ô+\Üð"÷
 #)¡&¬T°&¸Õ2EÓ-F×-OÑ-O &Ó"Póð ð —‘×(Ñ(¨Ð(ÓK€Iä‡_‚_�YÓô*ó  ð*ô, ˆy˜,×'Ò'Ø6?×6JÑ6JÐ(Ô3à�x‰x�|Š|Ø(ñà×Ñ Ó%ðð ðð ñ	€Hô —	’	˜+ vÓ.€IØ×(Ñ(°À)ÈBÅ-ÐW`Ð(Óa€JÜ�z×*Ñ*¨J×,BÑ,BÀ;Õ,OÐQ[×QbÑQbÐdlÓm€HØÒØ×Ñ˜ZÔ(Ø€Or'   c                ó<   € V ^8„  d   QhR\         R\        R\        /# rv   r{   )r~   s   "r%   r   r   ¼  s+   € ÷ Hkñ Hk¬3ð Hk¼3ð HkÌWñ Hkr'   c                 ó¼  a aaaa€ \        4       '       g   \        R 4      h^ RIoRpS P                  P                   F  p\        V\        4      '       g   K  Rp M	  V'       g   S P                  \        4       4       R.S P                  n	        RRRRRR/oVP                  RR4      pVP                  R	R4      pVP                  R
R4      pVP                  RR4      p	VP                  RR4      oS P                  R4      p
SV
R,          R&   SV
R,          R
&   V'       d   WŠR
&   VVVV V3R lpV'       g   SP                  W§V	R7      pMB^ RIoV	'       d   SP                  P                  V	4       SP                  P!                  V4       \"        P%                  RV 24       SP'                  WkVR7       \)        SR,          SR,          SR,          V4      # )z8This function needs wandb installed: `pip install wandb`NFTr   Úrun_idrŒ   ÚhyperparametersÚsweep_idÚprojectrü   Úentityr
  z	eval/lossÚgoalc                  óF  <€ S	P                   '       d   S	P                   MS	P                  4       p V P                  SP                  n        V P
                  P                  R / RS/4       S	P
                  pRSn        SP                  R\        V4      R,          R7       \        SRR4      fb   SP                  4       pSP                  V4      Sn        \        V4      pSV9  d*   \        P                  RS RVP!                  4        24       RpSR	,          e<   SR
8X  d   SP                  SR,          8  pMSR8X  d   SP                  SR,          8„  pV'       g   SR	,          f-   V P"                  SR	&   SP                  SR&   \%        V4      SR&   SP                  # )Úassignmentsr
  NÚ_itemsrŠ   rŒ   zProvided metric zU not found. This might result in unexpected sweeps charts. The available metrics are Fr*  ÚminimizeÚmaximizer+  )r    Úinitrü   ÚstateÚ
trial_namer  rÔ   rŒ   r›   Úvarsrœ   r�   rž   Úrewrite_logsr4   r5   ÚkeysÚidrq   )
r    r  r¨   Úformat_metricsÚ
best_scorer¸   ry   r
  r©   r   s
        €€€€€r%   rª   Ú'run_hp_search_wandb.<locals>._objective×  sq  ø€ Ø Ÿ9Ÿ9˜9ˆe�iŠi¨%¯*©*«,ˆØ#&§8¡8ˆ�‰Ô Ø�
‰
×Ñ˜=¨"¨h¸Ð?Ô@Ø—‘ˆà ˆÔà�‰¨T¼¸f»ÀhÕ9OˆÔPä�7˜K¨Ó.Ò6Ø×&Ñ&Ó(ˆGØ '× 9Ñ 9¸'Ó BˆGÔÜ)¨'Ó2ˆNØ˜^Ô+Ü—‘Ø& v hð /$Ø$2×$7Ñ$7Ó$9Ð#:ð<ôð ˆ
Ø�hÕÒ+Ø˜JÔ&Ø$×.Ñ.°¸KÕ1HÑH‘
Ø˜jÔ(Ø$×.Ñ.°¸KÕ1HÑH�
ç˜ HÕ-Ò5Ø#&§6¡6ˆJ�xÑ Ø&-×&7Ñ&7ˆJ�{Ñ#Ü,0°«LˆJÐ(Ñ)à× Ñ Ð r'   )r-  r.  zwandb sweep id - )ÚfunctionÚcount)r&   ÚImportErrorr   Úcallback_handlerÚ	callbacksrm   ÚWandbCallbackrÌ   r‘   Ú	report_tor³   r•   ÚsweepÚ	wandb.envÚenvÚ
set_entityÚset_projectr4   r  Úagentr   )r©   rx   ry   r½   Úreporting_to_wandbÚcallbackr,  r-  rü   r.  Úsweep_configrª   r¸   r
  r   s   f&f,        @@@r%   Úrun_hp_search_wandbrO  ¼  s   ü€ Ü×ÒÜÐTÓUÐUÛð ÐØ×,Ñ,×6Ô6ˆÜ�h¤×.Ô.Ø!%ÐÙñ 7÷ Ø×Ñœ]›_Ô-Ø%˜Y€G‡L�LÔØ˜D +¨tÐ5FÈÐM€JØ�z‰z˜* dÓ+€HØ�j‰j˜ DÓ)€GØ�:‰:�f˜dÓ#€DØ�Z‰Z˜ $Ó'€FØ�Z‰Z˜ +Ó.€Fà×#Ñ# DÓ)€LØ%.€L�Õ˜6Ñ"Ø%+€L�Õ˜6Ñ"ßØ#�VÑ÷!ñ !÷B Ø—;‘;˜|ÀV�;ÓL‰ãçØ�I‰I× Ñ  Ô(Ø�	‰	×Ñ˜gÔ&ä
‡K�KÐ# H :Ð.Ô/Ø	‡K�K�°X€KÔ>ä�:˜hÕ'¨°KÕ)@À*ÐM^ÕB_ÐaiÓjÐjr'   c                  ó„  € . p \        4       '       d"   \        4       '       g   V P                  R 4       \        4       '       d   V P                  R4       \	        4       '       d   V P                  R4       \        4       '       d   V P                  R4       \        4       '       d   V P                  R4       \        4       '       d   V P                  R4       \        4       '       d   V P                  R4       \        4       '       d   V P                  R4       \        4       '       d   V P                  R4       \        4       '       d   V P                  R	4       \        4       '       d   V P                  R
4       \        4       '       d   V P                  R4       \        4       '       d   V P                  R4       V # )Úazure_mlr   rS   rb   rM   r   r;   r   rZ   r/   re   r)   Úkubeflow)rH   rQ   Úappendr9   rT   rc   rX   r=   r&   r[   r0   rf   r,   rj   )Úintegrationss    r%   Ú$get_available_reporting_integrationsrU    sA  € Ø€LÜ×ÒÔ&9×&;Ò&;Ø×Ñ˜JÔ'Ü×ÒØ×Ñ˜JÔ'Ü×ÒØ×Ñ˜IÔ&Ü×ÒØ×Ñ˜IÔ&Ü×ÒØ×Ñ˜HÔ%Ü×ÒØ×Ñ˜IÔ&Ü×!Ò!Ø×Ñ˜MÔ*Ü×ÒØ×Ñ˜GÔ$Ü× Ò Ø×Ñ˜LÔ)Ü×ÒØ×Ñ˜IÔ&Ü×ÒØ×Ñ˜IÔ&Ü×ÒØ×Ñ˜IÔ&Ü×ÒØ×Ñ˜JÔ'ØÐr'   c                 ó  € / pR p\        V4      pRp\        V4      pV P                  4        F\  w  rgVP                  V4      '       d   WqRWcR ,           &   K+  VP                  V4      '       d   WqRWeR ,           &   KQ  WqRV,           &   K^  	  V# )Úeval_Útest_úeval/Nztest/ztrain/)ÚlenÚitemsrŽ   )ÚdÚnew_dÚeval_prefixÚeval_prefix_lenÚtest_prefixÚtest_prefix_lenÚkÚvs   &       r%   r9  r9  &  sŽ   € Ø€EØ€KÜ˜+Ó&€OØ€KÜ˜+Ó&€OØ—‘–	‰ˆØ�<‰<˜×$Ò$Ø34�'˜AÐ.Ð/Õ/Ó0Ø�\‰\˜+×&Ò&Ø34�'˜AÐ.Ð/Õ/Ó0à"#�(˜Q•,Óñ ð €Lr'   c                ó$   € V ^8„  d   QhR\         /# ©rw   rz   ©r}   )r~   s   "r%   r   r   6  s   € ÷ Kñ Kœñ Kr'   c                 óÌ   € ^ RI p ^ RIHp VP                  4       P                  R4      p\        P
                  P                  RVR,           V P                  4       ,           4      # )z
Same default as PyTorch
N)Údatetimez%b%d_%H-%M-%SÚrunsÚ_)Úsocketrh  ÚnowÚstrftimerN   r�   r�   Úgethostname)rk  rh  Úcurrent_times      r%   Údefault_logdirrp  6  sH   € ó Ý!à—<‘<“>×*Ñ*¨?Ó;€LÜ�7‰7�<‰<˜ ¨sÕ 2°V×5GÑ5GÓ5IÕ IÓJÐJr'   c                   óJ   a € ] tR tRt o RtR
R ltR tR tR
R ltR t	R	t
V tR# )r  iA  aš  
A [`TrainerCallback`] that sends the logs to [TensorBoard](https://www.tensorflow.org/tensorboard).

Args:
    tb_writer (`SummaryWriter`, *optional*):
        The writer to use. Will instantiate one if not set.
Environment:
    - **TENSORBOARD_LOGGING_DIR** (`str`, *optional*, defaults to `None`):
        The logging dir to log the results. Default value is os.path.join(args.output_dir, default_logdir())
Nc                óD  € \        4       '       g   \        R 4      h ^ RIHp W n        Wn        \        P                  ! RR4      V n
        V P                  e1   \        P                  P                  V P                  4      V n
        R# R#   \         d
    ^ RIHp  L{i ; i)zuTensorBoardCallback requires tensorboard to be installed. Either update your PyTorch version or install tensorboardX.)ÚSummaryWriterÚTENSORBOARD_LOGGING_DIRN)r=   rr   Útorch.utils.tensorboardrs  rA  r<   Ú_SummaryWriterÚ	tb_writerrN   rO   Úlogging_dirr�   Ú
expanduser)Úselfrw  rs  s   && r%   Ú__init__ÚTensorBoardCallback.__init__M  sˆ   € Ü'×)Ò)Üð)óð ð	3Ý=ð ,ÔØ"ŒÜŸ9š9Ð%>ÀÓEˆÔØ×ÑÒ'Ü!Ÿw™w×1Ñ1°$×2BÑ2BÓCˆDÖñ (øô ô 	3ß2ð	3ús   �B ÂBÂBc                óh   € V P                   e$   V P                  V P                  R7      V n        R # R # )N)Úlog_dir©rv  rx  rw  ©rz  r‘   s   &&r%   Ú_init_summary_writerÚ(TensorBoardCallback._init_summary_writer^  s.   € Ø×ÑÒ*Ø!×0Ñ0¸×9IÑ9IÐ0ÓJˆDŽNñ +r'   c                óö  € VP                   '       g   R # VP                  '       dI   VP                  pVe9   \        P                  P                  VP                  \        4       V4      V n        V P                  f8   \        P                  P                  VP                  \        4       4      V n        V P                  f   V P                  V4       V P                  e™   V P                  P                  RVP                  4       4       RV9   df   VR,          p\        VR4      '       dI   VP                  e9   VP                  P                  4       pV P                  P                  RV4       R # R # R # R # R # )Nr‘   r    r  Úmodel_config)Úis_world_process_zeroÚis_hyper_param_searchr7  rN   r�   r�   Ú
output_dirrp  rx  rw  r�  Úadd_textÚto_json_stringr$   r  )rz  r‘   r6  Úcontrolr½   r7  r    Úmodel_config_jsons   &&&&,   r%   Úon_train_beginÚ"TensorBoardCallback.on_train_beginb  s  € Ø×*×*Ð*Ùà×&×&Ð&Ø×)Ñ)ˆJØÒ%ä#%§7¡7§<¡<°·±ÄÓAQÐS]Ó#^�Ô à×ÑÒ#Ü!Ÿw™wŸ|™|¨D¯O©O¼^Ó=MÓNˆDÔà�>‰>Ò!Ø×%Ñ% dÔ+à�>‰>Ò%Ø�N‰N×#Ñ# F¨D×,?Ñ,?Ó,AÔBØ˜&Ô Ø˜w��Ü˜5 (×+Ò+°·±Ò0HØ(-¯©×(CÑ(CÓ(EÐ%Ø—N‘N×+Ñ+¨NÐ<MÖNñ 1IÑ+ñ !ñ &r'   c           
     ó\  € VP                   '       g   R # V P                  f   V P                  V4       V P                  eë   \        V4      pVP	                  4        F¯  w  rg\        V\        \        34      '       d)   V P                  P                  WgVP                  4       KI  \        V\        4      '       d)   V P                  P                  WgVP                  4       K‡  \        P                  RV R\        V4       RV R24       K±  	  V P                  P                  4        R # R # )Nú)Trainer is attempting to log a value of "ú
" of type ú
 for key "zn" as a scalar. This invocation of Tensorboard's writer.add_scalar() is incorrect so we dropped this attribute.)r…  rw  r�  r9  r[  rm   r|   ÚfloatÚ
add_scalarÚglobal_stepr}   rˆ  r4   r5   r  Úflush©rz  r‘   r6  rŠ  Úlogsr½   rb  rc  s   &&&&&,  r%   Úon_logÚTensorBoardCallback.on_logz  sê   € Ø×*×*Ð*Ùà�>‰>Ò!Ø×%Ñ% dÔ+à�>‰>Ò%Ü Ó%ˆDØŸ
™
ž‘�Ü˜a¤#¤u ×.Ò.Ø—N‘N×-Ñ-¨a°E×4EÑ4EÖFÜ ¤3×'Ò'Ø—N‘N×+Ñ+¨A°%×2CÑ2CÖDä—N‘NðØ˜3˜j¬¨a«¨	°¸A¸3ð ?EðEöñ %ð �N‰N× Ñ Ö"ñ &r'   c                óp   € V P                   '       d$   V P                   P                  4        R V n         R # R # rV   )rw  Úclose©rz  r‘   r6  rŠ  r½   s   &&&&,r%   Úon_train_endÚ TensorBoardCallback.on_train_end‘  s'   € Ø�>�>ˆ>Ø�N‰N× Ñ Ô"Ø!ˆDŽNñ r'   r  rV   )r  Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r{  r�  rŒ  r˜  r�  Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r%   r  r  A  s+   ø‡ € ñ	ôDò"KòOô0#÷."ð "r'   r  c                ó0   € V ^8„  d   QhR\         R\        /# )rw   r    r‡  )r   r}   )r~   s   "r%   r   r   —  s   € ÷ !ñ !¬3ð !¼Cñ !r'   c                 óp  € \        V R 2R4      ;_uu_ 4       p\        V \        4      '       d   \        WR7       M^\	        4       '       dO   \        V \
        P                  P                  \        34      '       d   \        V R4      '       d   \        WR7       RRR4       R#   + '       g   i     R# ; i)z/model_architecture.txtzw+)ÚfileÚ
base_modelN)
Úopenrm   r
   Úprintr   r˜   ÚnnÚModuler   r$   )r    r‡  Úfs   && r%   Úsave_model_architecture_to_filer°  —  su   € Ü	��Ð3Ð4°d×	;Ô	;¸qÜ�eœ_×-Ò-Ü�%Ö Ü×!Ò!Ü�uœuŸx™xŸ™´Ð?×@Ò@ÄWÈUÐT`×EaÒEaä�%Õ ÷ 
<×	;×	;Ò	;ús   ˜BB$Â$B5	c                   óh   a € ] tR tRt o RtRtRtRt]V 3R lR l4       t	]
V 3R lR	 l4       tR
tV tR# )ÚWandbLogModeli¡  z)Enum of possible log model values in W&B.r¤   ÚendÚfalsec                ó    <€ V ^8„  d   QhRS[ /# re  ©Úbool)r~   r¦  s   "€r%   r   ÚWandbLogModel.__annotate__©  s   ø€ ÷ Eñ E™Dñ Er'   c                óH   € V \         P                  \         P                  39   # )zYCheck if the value corresponds to a state where the `WANDB_LOG_MODEL` setting is enabled.)r²  Ú
CHECKPOINTÚEND©rz  s   &r%   Ú
is_enabledÚWandbLogModel.is_enabled¨  s    € ð œ×0Ñ0´-×2CÑ2CÐDÑDÐDr'   c                ó$   <€ V ^8„  d   QhRS[ RR/# )rw   r¹   rz   r²  )r   )r~   r¦  s   "€r%   r   r¸  ®  s   ø€ ÷ #ñ #™cð # oñ #r'   c                ó®   € \        V\        4      '       g   \        R \        V4       24      h\        P                  RV R24       \        P                  # )z>Expecting to have a string `WANDB_LOG_MODEL` setting, but got z6Received unrecognized `WANDB_LOG_MODEL` setting value=z ; so disabling `WANDB_LOG_MODEL`)rm   r}   Ú	TypeErrorr  r4   r5   r²  rK   )rí   r¹   s   &&r%   Ú	_missing_ÚWandbLogModel._missing_­  sQ   € ä˜%¤×%Ò%ÜÐ\Ô]aÐbgÓ]hÐ\iÐjÓkÐkÜ�‰ØDÀUÀGÐKkÐlô	
ô ×"Ñ"Ð"r'   r+   N)r  rŸ  r   r¡  r¢  rº  r»  rK   Úpropertyr½  ÚclassmethodrÂ  r£  r¤  r¥  s   @r%   r²  r²  ¡  s?   ø‡ € Ù3à€JØ
€CØ€Eà÷Eó ðEð ÷#ó ö#r'   r²  c                   óf   a € ] tR tRt o RtR tR tRR ltRV 3R lR lltRR	 lt	R
 t
R tRtV tR# )rD  i·  zs
A [`TrainerCallback`] that logs metrics, media, model checkpoints to [Weight and Biases](https://www.wandb.com/).
c                ó¬   € \        4       pV'       g   \        R 4      h^ RIpW n        RV n        \        \        P                  ! RR4      4      V n        R# )zFWandbCallback requires wandb to be installed. Run `pip install wandb`.NFÚWANDB_LOG_MODELr´  )	r&   rr   r   Ú_wandbÚ_initializedr²  rN   rO   Ú
_log_model)rz  Ú	has_wandbr   s   &  r%   r{  ÚWandbCallback.__init__¼  sA   € Ü&Ó(ˆ	ßÜÐgÓhÐhãàŒØ!ˆÔÜ'¬¯	ª	Ð2CÀWÓ(MÓNˆŽr'   c                ó
  € V P                   f   R# RV n        ^ RIHp VP                  '       Edå   / VP                  4       Cp\        VR4      '       d[   VP                  eM   \        VP                  \        4      '       d   VP                  MVP                  P                  4       p/ VCVCp\        VR4      '       d!   VP                  e   VP                  pRV/VCpVP                  p	/ p
V	e)   WšR&   VP                  ;'       g    VP                  V
R&   MUVP                  eH   VP                  V
R&   VP                  VP                  8X  d   V P                   P                  RR	R
7       V P                   P                  f4   V P                   P                   ! R(R\"        P$                  ! RR4      /V
B  V P                   P                  P'                  T;'       g    / RR7       \)        V P                   RR4      '       d:   V P                   P+                  R4       V P                   P+                  RRRR7       \"        P$                  ! RR4      p\-        4       '       g9   VR)9   d2   V P                   P/                  W;\1        ^dVP2                  4      R7       V P                   P                  P5                  RR7        VP7                  4       V P                   P                  R&   V P@                  PB                  '       Ed   \D        PF                  ! 4       ;_uu_ 4       pVP                  e   VP                  VP                  8X  d$   RV P                   P                  PH                   2M"RV P                   P                  PJ                   2pV P                   PM                  TRR\        VR4      '       d   VP                  P                  4       MRRV P                   P                  PO                  R4      RR/R 7      p\Q        W<4       \S        V4      PU                  R4       Fh  pVPW                  4       '       g   K  VPY                  VPJ                  R!R"7      ;_uu_ 4       pVP[                  VP]                  4       4       RRR4       Kj  	  V P                   P                  P_                  VR#.R$7       R%V P                   P                  P`                   R&2p\b        ;Pd                  R'V 2,          un2        RRR4       R# R# R#   \8         d    \:        P=                  R4        ELKT d    \:        P?                  R4        ELii ; i  + '       g   i     EK=  ; i  + '       g   i     R# ; i)*aL  
Setup the optional Weights & Biases (*wandb*) integration.

One can subclass and override this method to customize the setup if needed. Find more information
[here](https://docs.wandb.ai/guides/integrations/huggingface). You can also override the following environment
variables:

Environment:
- **WANDB_LOG_MODEL** (`str`, *optional*, defaults to `"false"`):
    Whether to log model and checkpoints during training. Can be `"end"`, `"checkpoint"` or `"false"`. If set
    to `"end"`, the model will be uploaded at the end of training. If set to `"checkpoint"`, the checkpoint
    will be uploaded every `args.save_steps` . If set to `"false"`, the model will not be uploaded. Use along
    with [`~transformers.TrainingArguments.load_best_model_at_end`] to upload best model.
- **WANDB_WATCH** (`str`, *optional* defaults to `"false"`):
    Can be `"gradients"`, `"all"`, `"parameters"`, or `"false"`. Set to `"all"` to log gradients and
    parameters.
- **WANDB_PROJECT** (`str`, *optional*, defaults to `"huggingface"`):
    Set this to a custom string to store results in a different project.
NT)ÚConfigErrorr  Úpeft_configrü   ÚgroupzÉThe `run_name` is currently set to the same value as `TrainingArguments.output_dir`. If this was not intended, please specify a different run name by setting the `TrainingArguments.run_name` parameter.F)Úrepeatr-  ÚWANDB_PROJECTÚhuggingface©Úallow_val_changeÚdefine_metricútrain/global_steprÈ   )Ústep_metricÚ	step_syncÚWANDB_WATCHr´  )ÚlogÚlog_freqÚtransformers_trainer)Úcodeúmodel/num_parameterszZCould not log the number of model parameters in Weights & Biases due to an AttributeError.zbA ConfigError was raised whilst setting the number of model parameters in Weights & Biases config.úmodel-r    r„  Únum_parametersÚinitial_model©rü   r  rô   Úwb©r  rª  ©Úaliasesz™[<img src="https://raw.githubusercontent.com/wandb/assets/main/wandb-github-badge-28.svg" alt="Visualize in Weights & Biases" width="200" height="32"/>](Ú)Ú
r+   )ÚallÚ
parametersÚ	gradients)3rÉ  rÊ  Úwandb.sdk.lib.config_utilrÏ  r…  Úto_dictr$   r  rm   rq   rÐ  r7  Úrun_namer‡  Útermwarnr    r5  rN   rO   rÔ   rœ   r×  r   ÚwatchÚmaxÚlogging_stepsÚ_labelrâ  ÚAttributeErrorr4   r  r5   rË  r½  rÕ   rÖ   r;  rü   ÚArtifactr  r°  r   rÒ   Úis_fileÚnew_fileÚwriteÚ
read_bytesÚlog_artifactÚurlr   ÚAUTOGENERATED_TRAINER_COMMENT)rz  r‘   r6  r    r½   ÚWandbConfigErrorÚcombined_dictr„  rÐ  r7  Ú	init_argsÚ_watch_modelÚtemp_dirÚ
model_nameÚmodel_artifactr¯  ÚfaÚbadge_markdowns   &&&&,             r%   ÚsetupÚWandbCallback.setupÇ  sr  € ð( �;‰;ÒÙØ ˆÔõ 	Nà×&×&Ñ&Ø.˜tŸ|™|›~Ð.ˆMä�u˜h×'Ò'¨E¯L©LÒ,DÜ/9¸%¿,¹,Ì×/MÒ/M˜uŸ|š|ÐSX×S_ÑS_×SgÑSgÓSi�Ø A <Ð A°=Ð A�Ü�u˜m×,Ò,°×1BÑ1BÒ1NØ#×/Ñ/�Ø!.°Ð M¸}Ð M�Ø×)Ñ)ˆJØˆIØÒ%Ø$.˜&Ñ!Ø%)§]¡]×%EÐ%E°d·o±o�	˜'Ò"Ø—‘Ò*Ø$(§M¡M�	˜&Ñ!Ø—=‘= D§O¡OÔ3Ø—K‘K×(Ñ(ðCà$ð )ô ð �{‰{�‰Ò&Ø—‘× Ò ñ ÜŸIšI o°}ÓEðàòð
 �K‰K×Ñ×%Ñ% m×&9Ð&9°rÈDÐ%ÔQô �t—{‘{ O°T×:Ò:Ø—‘×)Ñ)Ð*=Ô>Ø—‘×)Ñ)¨#Ð;NÐZ^Ð)Ô_ô Ÿ9š9 ]°GÓ<ˆLÜ)×+Ò+°Ð@bÔ0bØ—‘×!Ñ! %ÄCÈÈU×M`ÑM`ÓDaÐ!ÔbØ�K‰K�O‰O×"Ñ"Ð(>Ð"Ô?ð	Ø=B×=QÑ=QÓ=S�—‘×"Ñ"Ð#9Ñ:ð �‰×)×)Ñ)Ü×0Ò0×2Ô2°hð !ŸM™MÒ1°T·]±]ÀdÇoÁoÔ5Uð ! §¡§¡×!3Ñ!3Ð 4Ñ5à% d§k¡k§o¡o×&:Ñ&:Ð%;Ð<ð ð
 &*§[¡[×%9Ñ%9Ø'Ø$à*ÄgÈeÐU]×F^ÒF^¨E¯L©L×,@Ñ,@Ô,BÐdhØ,¨d¯k©k×.@Ñ.@×.DÑ.DÐE[Ó.\Ø+¨Tð"ð &:ó &�Nô 4°EÔDä! (›^×0Ñ0°Ö5˜ØŸ9™9Ÿ;œ;Ø!/×!8Ñ!8¸¿¹ÀdÐ!8×!KÔ!KÈrØ "§¡¨¯©«Ô 8÷ "LÑ!Kñ 6ð —K‘K—O‘O×0Ñ0°È,ÈÐ0ÔXð-à-1¯[©[¯_©_×-@Ñ-@Ð,AÀðDð #ô ×;Ò;ÀÀNÐCSÐ?TÕTÕ;÷= 3Ñ2ñ *ño 'øôZ "ô Ü—‘Øp÷ð $ô Ü—‘Øx÷ðú÷6 "L×!KÑ!Kú÷) 3×2Ð2úsJ   Ë'T Ì)DU1Ñ%U1Ñ1 UÒA8U1Ô UÔ:UÔ?UÕUÕU.Õ'
U1Õ1V	Nc                óî   € V P                   f   R # VP                  pV'       d)   V P                   P                  4        RV n        R Vn        V P                  '       g   V P
                  ! WV3/ VB  R # R # ©NF)rÉ  r†  ÚfinishrÊ  rð  r  )rz  r‘   r6  rŠ  r    r½   Ú	hp_searchs   &&&&&, r%   rŒ  ÚWandbCallback.on_train_begin:  s`   € Ø�;‰;ÒÙØ×/Ñ/ˆ	ßØ�K‰K×ÑÔ Ø %ˆDÔØ ˆDŒMØ× × Ð Ø�JŠJ�t EÑ4¨VÔ4ñ !r'   c                ó    <€ V ^8„  d   QhRS[ /# ©rw   r‘   ©r   )r~   r¦  s   "€r%   r   ÚWandbCallback.__annotate__E  s   ø€ ÷ *Pñ *PÑ!2ñ *Pr'   c           
     ób  € V P                   f   R # V P                  P                  '       EdÔ   V P                  '       Ed¿   VP                  '       Edª   ^RIHp \        P                  ! V4      pR Vn	        R Vn
        V! W„VR.R7      p	\        P                  ! 4       ;_uu_ 4       p
V	P                  V
4       VP                  '       g}   \        V P                   P                   4      P#                  4        UUu/ uFB  w  r¼\%        V\&        P(                  4      '       g   K'  VP+                  R4      '       d   K@  W¼bKD  	  uppMKRVP,                   2VP.                  RVP0                  RV P                   P2                  P5                  R4      /pRVR	&   \6        P9                  R
4       VP:                  e   VP:                  VP<                  8X  d$   RV P                   P>                  P@                   2M"RV P                   P>                  PB                   2p\E        WJ4       V P                   PG                  VRVR7      p\I        V
4      PK                  R4       Fh  pVPM                  4       '       g   K  VPO                  VPB                  RR7      ;_uu_ 4       pVPQ                  VPS                  4       4       R R R 4       Kj  	  V P                   P>                  PU                  VR	.R7       R R R 4       R # R # R # R # u uppi   + '       g   i     K»  ; i  + '       g   i     R # ; i)N©ÚTrainerÚfake©r‘   r    Úprocessing_classÚeval_datasetrj  rY  ztrain/total_flossrà  TÚfinal_modelzLogging model artifacts. ...rá  r    rä  rÈ   rå  ræ  rç  )+rÉ  rË  r½  rÊ  r…  r©   r  ÚcopyÚdeepcopyÚ	deepspeedÚdeepspeed_pluginrÕ   rÖ   Ú
save_modelÚload_best_model_at_endrq   Úsummaryr[  rm   ÚnumbersÚNumberrŽ   Úmetric_for_best_modelÚbest_metricÚ
total_flosr  r  r4   r  rð  r‡  r    r;  rü   r°  r÷  r   rÒ   rø  rù  rú  rû  rü  )rz  r‘   r6  rŠ  r    r  r½   r  Úargs_for_fakeÚfake_trainerr  rb  rc  rô   r  Úartifactr¯  r  s   &&&&&&,           r%   r�  ÚWandbCallback.on_train_endE  s€  € Ø�;‰;ÒÙØ�?‰?×%×%Ñ%¨$×*;×*;Ñ*;À×@[×@[Ñ@[Ý)ä ŸMšM¨$Ó/ˆMØ&*ˆMÔ#Ø-1ˆMÔ*Ù"Ø"ÐBRÐbhÐaiôˆLô ×,Ò,×.Ô.°(Ø×'Ñ'¨Ô1ð  ×6×6Ð6ô %)¨¯©×)<Ñ)<Ó$=×$CÑ$CÔ$Eôá$E™D˜AÜ% a¬¯©×8ô àABÇÁÈc×ARô ˜šÙ$Eóð   × :Ñ :Ð;Ð<¸e×>OÑ>OØ+¨U×-=Ñ-=Ø.°·±×0BÑ0B×0FÑ0FÐG]Ó0^ðð ð +/�˜Ñ'Ü—‘Ð:Ô;ð Ÿ™Ò-°·±À$Ç/Á/Ô1Qð ˜TŸ[™[Ÿ_™_×/Ñ/Ð0Ñ1à! $§+¡+§/¡/×"6Ñ"6Ð!7Ð8ð ô 0°Ô@àŸ;™;×/Ñ/°ZÀgÐX`Ð/Óa�Ü˜h›×,Ñ,¨SÖ1�AØ—y‘y—{”{Ø%×.Ñ.¨q¯v©v¸DÐ.×AÔAÀRØŸH™H Q§\¡\£^Ô4÷ BÑAñ 2ð —‘—‘×,Ñ,¨XÀ¸Ð,ÔO÷= /Ñ.ñ A\Ñ*;Ñ%ùó÷2 B×AÐAú÷9 /×.Ð.úsJ   Â'ALÃ;$L
Ä$L
Ä=L
ÅD2LÉ:%LÊ L	Ê?4LÌLÌ	LÌ	LÌL.	c                óò  € . ROpV P                   f   R# V P                  '       g   V P                  WV4       VP                  '       d§   VP	                  4        F/  w  r‰W‡9   g   K  W�P                   P
                  P                  V&   K1  	  VP	                  4        UU	u/ uF  w  r‰W‡9  g   K  W‰bK  	  p
pp	\        V
4      p
V P                   P                  / V
CRVP                  /C4       R# R# u up	pi )Útrain_runtimeNrØ  ©r,  Útrain_samples_per_secondÚtrain_steps_per_secondÚ
train_lossr&  )
rÉ  rÊ  r  r…  r[  r    r!  r9  rÜ  r”  ©rz  r‘   r6  rŠ  r    r—  r½   Úsingle_value_scalarsrb  rc  Únon_scalar_logss   &&&&&&,    r%   r˜  ÚWandbCallback.on_logq  sÍ   € ò 
Ðð �;‰;ÒÙØ× × Ð Ø�J‰J�t EÔ*Ø×&×&Ð&ØŸ
™
ž‘�ØÖ,Ø12—K‘K—O‘O×+Ñ+¨AÓ.ñ %ð 15·
±
´Ô^±©¨ÀÑ@]œt˜qšt±ˆOÑ^Ü*¨?Ó;ˆOØ�K‰K�O‰OÐW˜ÐWÐ0CÀU×EVÑEVÑWÖXñ 'ùó _s   Â!
C3Â0C3c                óV  € V P                   \        P                  8X  Ed   V P                  '       Edî   VP                  '       EdÙ   \        V P                  P                  4      P                  4        UUu/ uFB  w  rV\        V\        P                  4      '       g   K'  VP                  R 4      '       d   K@  WVbKD  	  pppV P                  P                  P                  R4      VR&   RVP                   2p\         P"                  P%                  VP&                  V4      p	\(        P+                  RV R24       VP,                  e   VP,                  VP&                  8X  d$   RV P                  P.                  P0                   2M"RV P                  P.                  P2                   2p
V P                  P5                  V
RVR7      pVP7                  V	4       V P                  P9                  VR	\;        VP<                  ^4       2R
VP                   2.R7       R# R# R# R# u uppi )rj  rà  úcheckpoint-ú Logging checkpoint artifacts in z. ...Nrá  r    rä  Úepoch_Úcheckpoint_global_step_rç  )rË  r²  rº  rÊ  r…  rq   rÉ  r!  r[  rm   r"  r#  rŽ   r  r  r”  rN   r�   r�   r‡  r4   r  rð  r    r;  rü   r÷  Úadd_dirrü  ÚroundÚepoch)rz  r‘   r6  rŠ  r½   rb  rc  Úcheckpoint_metadataÚckpt_dirÚartifact_pathÚcheckpoint_namer)  s   &&&&,       r%   Úon_saveÚWandbCallback.on_save†  sÅ  € Ø�?‰?œm×6Ñ6Õ6¸4×;L×;LÑ;LÐQV×Ql×QlÑQlô ! §¡×!4Ñ!4Ó5×;Ñ;Ô=ô#á=‘D�AÜ˜a¤§¡×0ô à9:¿¹Àc×9Jô �’Ù=ð  ñ #ð
 ;?¿+¹+×:LÑ:L×:PÑ:PÐQgÓ:hÐÐ 6Ñ7à$ U×%6Ñ%6Ð$7Ð8ˆHÜŸG™GŸL™L¨¯©¸(ÓCˆMÜ�K‰KÐ:¸8¸*ÀEÐJÔKð —M‘MÒ)¨T¯]©]¸d¿o¹oÔ-Mð ˜Ÿ™Ÿ™×+Ñ+Ð,Ñ-à˜dŸk™kŸo™o×2Ñ2Ð3Ð4ð ð
 —{‘{×+Ñ+°ÀwÐYlÐ+ÓmˆHØ×Ñ˜]Ô+Ø�K‰K×$Ñ$Ø V¬E°%·+±+¸qÓ,AÐ+BÐ#CÐG^Ð_d×_pÑ_pÐ^qÐErÐ"sð %ö ñ% RmÑ;LÑ6ùó#s   Á7$H%Â H%Â9H%c                óä   € V P                   f   R # V P                  '       g   V P                  ! W3/ VB  VP                  '       d)   \	        V4      pV P                   P                  V4       R # R # rV   )rÉ  rÊ  r  r…  r9  rÜ  ©rz  r‘   r6  rŠ  r¨   r½   s   &&&&&,r%   Ú
on_predictÚWandbCallback.on_predict�  sW   € Ø�;‰;ÒÙØ× × Ð Ø�JŠJ�tÑ- fÒ-Ø×&×&Ð&Ü" 7Ó+ˆGØ�K‰K�O‰O˜GÖ$ñ 'r'   )rÊ  rË  rÉ  rV   ©NN©r  rŸ  r   r¡  r¢  r{  r  rŒ  r�  r˜  rA  rE  r£  r¤  r¥  s   @r%   rD  rD  ·  s?   ø‡ € ñò	OòqUôf	5÷*Pò *PôXYò*÷.%ð %r'   rD  c                   ó¸   a € ] tR tRt o RtRtRtRt]V 3R lR l4       t	R t
R	 tV 3R
 lR ltV 3R lR ltRR ltRV 3R lR lltRR ltR tR tR tRtV tR# )ÚTrackioCallbacki§  z5
A [`TrainerCallback`] that logs metrics to Trackio.
z(https://huggingface.co/spaces/{space_id}z0.21.1zâ<a href="{space_url}" target="_blank"><img src="https://raw.githubusercontent.com/gradio-app/trackio/refs/heads/main/trackio/assets/badge.png" alt="Visualize in Trackio" title="Visualize in Trackio" style="height: 40px;"/></a>c                ó&   <€ V ^8„  d   QhRS[ RS[ /# )rw   r-  rz   rf  )r~   r¦  s   "€r%   r   ÚTrackioCallback.__annotate__´  s   ø€ ÷ 	)ñ 	)©sð 	)±sñ 	)r'   c                óZ  € V P                  4       P                  4       P                  RR4      p\        P                  ! RRV4      p\        P                  ! RRV4      P                  R4      pV'       g   RpVR,          P                  R4      p\        P                  ! ^4      pV RV 2# )	z\Build a Hub-safe name for a static Space from the Trackio project and a short random suffix.Ú/Ú-z[^a-z0-9._-]z-+z-_.ztrackio-project:NéQ   Nz-static-)ÚstripÚlowerÚreplaceÚreÚsubÚrstripÚsecretsÚ	token_hex)r-  ÚsÚbaseÚsuffixs   &   r%   Ú_space_repo_name_from_projectÚ-TrackioCallback._space_repo_name_from_project³  s�   € ð �M‰M‹O×!Ñ!Ó#×+Ñ+¨C°Ó5ˆÜ�FŠF�? C¨Ó+ˆÜ�FŠF�5˜#˜qÓ!×'Ñ'¨Ó.ˆßØ!ˆAØ��v�}‰}˜SÓ!ˆÜ×"Ò" 1Ó%ˆØ��x ˜xÐ(Ð(r'   c                óz   € \        4       '       g   \        R 4      h^ RIpWn        RV n        RV n        RV n        R# )zLTrackioCallback requires trackio to be installed. Run `pip install trackio`.NF)r,   rr   r)   Ú_trackiorÊ  Ú	_space_idÚ_static_space_id)rz  r)   s   & r%   r{  ÚTrackioCallback.__init__¿  s6   € Ü#×%Ò%ÜÐmÓnÐnÛàŒØ!ˆÔØ%)ˆŒØ,0ˆÖr'   c           	     ó�  € VP                   '       Ed†   / VP                  4       Cp\        VR4      '       d[   VP                  eM   \	        VP                  \
        4      '       d   VP                  MVP                  P                  4       p/ VCVCp\        VR4      '       d!   VP                  e   VP                  pRV/VCpV P                  P                  VP                  VP                  VP                  RVP                  VP                  R7       V P                  P                  P                  P!                  4       V n        V P                  P                  P%                  VRR7        VP'                  4       V P                  P                  R&   RV n        R#   \(         d    \*        P-                  R	4        L+i ; i)
zÒ
Setup the optional Trackio integration.

To customize the setup you can also set `project`, `trackio_space_id`, `trackio_bucket_id`,
`trackio_static_space_id`, and `hub_private_repo` in [`TrainingArguments`].
r  NrÐ  Úallow)r-  rü   Úspace_idÚresumeÚprivateÚ	bucket_idTrÕ  rà  zQCould not log the number of model parameters in Trackio due to an AttributeError.)r…  rï  r$   r  rm   rq   rÐ  r_  r5  r-  rð  Útrackio_space_idÚhub_private_repoÚtrackio_bucket_idÚcontext_varsÚcurrent_space_idr  r`  rÔ   râ  rö  r4   r  rÊ  )rz  r‘   r6  r    r½   r   r„  rÐ  s   &&&&,   r%   r  ÚTrackioCallback.setupÉ  sr  € ð ×&×&Ñ&Ø.˜tŸ|™|›~Ð.ˆMÜ�u˜h×'Ò'¨E¯L©LÒ,DÜ/9¸%¿,¹,Ì×/MÒ/M˜uŸ|š|ÐSX×S_ÑS_×SgÑSgÓSi�Ø A <Ð A°=Ð A�Ü�u˜m×,Ò,°×1BÑ1BÒ1NØ#×/Ñ/�Ø!.°Ð M¸}Ð M�à�M‰M×ÑØŸ™Ø—]‘]Ø×.Ñ.ØØ×-Ñ-Ø×0Ñ0ð ô ð "Ÿ]™]×7Ñ7×HÑH×LÑLÓNˆDŒNà�M‰M× Ñ ×'Ñ'¨ÈÐ'ÔMðqØ?D×?SÑ?SÓ?U�—‘×$Ñ$Ð%;Ñ<ð !ˆÖøô "ô qÜ—‘ÐoÖpðqús   Å2'F" Æ" GÇGc                ó   <€ V ^8„  d   QhRR/# )rw   rz   Nr+   )r~   r¦  s   "€r%   r   rL  î  s   ø€ ÷ Bñ B°4ñ Br'   c                ót  € V P                   f   V P                  f   R# \        VRR4      ;'       g    . p\        R V 4       R4      pV'       dq   VP	                  R^4      ^,          pV P
                  P                  VR7      p\        P                  ;'       g    RpWV9   d   VP                  VR4      \        n        V P                  ;'       g    V P                   pV P                  P                  VR7      pRV 2p	V P
                  P                  VR7      p
V Uu. uF4  p\        V\        4      '       d   VP                  R	4      '       d   K2  VNK6  	  ppR
V	3 F  pWÜ9  g   K  VP                  V4       K  	  WÁn        \        P                  ;'       g    RpW®,           \        n        R# u upi )a,  
Adds a link from a model's model card to the Trackio Space (preferring the `self._static_space_id` if not None).
Also adds two tags to the model to indicate that it was trained with Trackio:
- "trackio"
- "trackio:<space_url>" (this is used to embed the Space in the model's "Training Metrics" tab)
NÚ
model_tagsc              3   óˆ   "  € T F8  p\        V\        4      '       g   K  VP                  R 4      '       g   K4  Vx € K:  	  R# 5i)útrackio:https://N)rm   r}   rŽ   )Ú.0Úts   & r%   Ú	<genexpr>Ú=TrackioCallback._point_model_card_at_space.<locals>.<genexpr>ù  s)   é € Ðc¡4˜a¬:°a¼×+=œÀ!Ç,Á,ÐOa×BbŸš£4ùs   ‚AŸA¸
AÚ:)Ú	space_urlrä   )re  ztrackio:rs  r)   )r`  ra  rœ   rÑ   ÚsplitÚBADGE_MARKDOWNr~   r   rþ  rS  Ú	SPACE_URLrm   r}   rŽ   rS  rq  )rz  r    ÚprevÚold_tagÚold_urlÚold_commentÚcmtÚpreferred_space_idÚpreferred_urlÚnew_tagÚnew_commentru  ÚkeptÚextraÚcs   &&             r%   Ú_point_model_card_at_spaceÚ*TrackioCallback._point_model_card_at_spaceî  sr  € ð �>‰>Ò! d×&;Ñ&;Ò&CÙä�u˜l¨DÓ1×7Ð7°RˆÜÑc¡4ÓcÐeiÓjˆßØ—m‘m C¨Ó+¨AÕ.ˆGØ×-Ñ-×4Ñ4¸wÐ4ÓGˆKÜ×9Ñ9×?Ð?¸RˆCØÔ!Ø:=¿+¹+ÀkÐSUÓ:V”	Ô7à!×2Ñ2×DÐD°d·n±nÐØŸ™×-Ñ-Ð7IÐ-ÓJˆØ˜]˜OÐ,ˆØ×)Ñ)×0Ñ0¸=Ð0ÓIˆáÓa™4�a¬
°1´c×(:Ò(:¸q¿|¹|ÐL^×?_—�™4ˆÐaØ Ó)ˆEØÖ Ø—‘˜EÖ"ñ *ð  ÔÜ×3Ñ3×9Ð9°rˆØ2=µ/Œ	Ö/ùò bs   Ä"/F5ÅF5c                ó    <€ V ^8„  d   QhRS[ /# r  r  )r~   r¦  s   "€r%   r   rL    s   ø€ ÷ /ñ /Ñ"3ñ /r'   c                ó^  € VP                   RJ d   R# \        P                  P                  V P                  P
                  4      \        P                  P                  V P                  4      8  d&   \        P                  RV P                   R24       R# V P                  ;'       g0    VP                   ;'       g    V P                  VP                  4      pV P                  P                  V P                  VP                  VVP                  R7      V n	        V P                  V4       R# )zp
Freezes the Gradio Space after training is complete, if `trackio_static_space_id` is set to a `str` or `None`.
FNz�An older version of Trackio is installed; the post-training static snapshot Space (`trackio.freeze`) will not be created. Upgrade with `pip install trackio>=zO` to enable it, or set `trackio_static_space_id=False` to silence this warning.)re  r-  Únew_space_idrg  )Útrackio_static_space_idrñ   rò   ró   r_  r   ÚMIN_TRACKIO_VERSION_FOR_FREEZEr4   r5   ra  r\  r-  Úfreezer`  rj  r‰  )rz  r‘   r    Ústatic_space_ids   &&& r%   Ú_freeze_spaceÚTrackioCallback._freeze_space  s  € ð ×'Ñ'¨5Ó0ÙÜ×Ñ×"Ñ" 4§=¡=×#<Ñ#<Ó=Ä	×@QÑ@Q×@WÑ@WØ×/Ñ/óA
ô 
ô �N‰Nð)à)-×)LÑ)LÐ(Mð NKðKôñ à×!Ñ!×uÐu T×%AÑ%A×uÐuÀT×EgÑEgÐhl×htÑhtÓEuð 	ð !%§¡× 4Ñ 4Ø—^‘^Ø—L‘LØ(Ø×)Ñ)ð	 !5ó !
ˆÔð 	×'Ñ'¨Ö.r'   Nc                óV   € V P                   '       g   V P                  ! WV3/ VB  R # R # rV   ©rÊ  r  ©rz  r‘   r6  rŠ  r    r½   s   &&&&&,r%   rŒ  ÚTrackioCallback.on_train_begin)  ó&   € Ø× × Ð Ø�JŠJ�t EÑ4¨VÔ4ñ !r'   c                ó    <€ V ^8„  d   QhRS[ /# r  r  )r~   r¦  s   "€r%   r   rL  -  s   ø€ ÷ añ aÑ!2ñ ar'   c                ó4  € VP                   '       d   V P                  '       g   R # V P                  P                  4        V P                  '       d    V P                  W4       R # R #   \         d$   p\        P                  RT 24        R p?R # R p?ii ; i)Nz:Trackio could not freeze the Gradio Space after training: )	r…  rÊ  r_  r  r`  r’  Ú	Exceptionr4   r5   )rz  r‘   r6  rŠ  r    r  r½   Úes   &&&&&&, r%   r�  ÚTrackioCallback.on_train_end-  s{   € Ø×*×*Ð*°$×2C×2CÐ2CÙØ�‰×ÑÔØ�>�>ˆ>ðaØ×"Ñ" 4Ö/ñ øô ô aÜ—‘Ð![Ð\]Ð[^Ð_×`Ò`ûðaús   ÁA) Á)BÁ4BÂBc                óL  € . ROpV P                   '       g   V P                  WV4       VP                  '       dd   VP                  4        UU	u/ uF  w  r‰W‡9  g   K  W‰bK  	  p
pp	\	        V
4      p
V P
                  P                  / V
CRVP                  /C4       R# R# u up	pi )r,  rØ  Nr-  )rÊ  r  r…  r[  r9  r_  rÜ  r”  r1  s   &&&&&&,    r%   r˜  ÚTrackioCallback.on_log7  s�   € ò 
Ðð × × Ð Ø�J‰J�t EÔ*Ø×&×&Ð&Ø04·
±
´Ô^±©¨ÀÑ@]œt˜qšt±ˆOÑ^Ü*¨?Ó;ˆOØ�M‰M×ÑÐY ÐYÐ2EÀu×GXÑGXÑYÖZñ 'ùÛ^s   Á
B ÁB c                ó   € R # rV   r+   rœ  s   &&&&,r%   rA  ÚTrackioCallback.on_saveG  s   € Ùr'   c                óä   € V P                   f   R # V P                  '       g   V P                  ! W3/ VB  VP                  '       d)   \	        V4      pV P                   P                  V4       R # R # rV   )r_  rÊ  r  r…  r9  rÜ  rD  s   &&&&&,r%   rE  ÚTrackioCallback.on_predictJ  sY   € Ø�=‰=Ò ÙØ× × Ð Ø�JŠJ�tÑ- fÒ-Ø×&×&Ð&Ü" 7Ó+ˆGØ�M‰M×Ñ˜gÖ&ñ 'r'   c           	     ó  € VP                   '       d   V P                  f   R # V P                  P                  P                  P	                  4       ;pf   R # V P
                  '       g   VP                  RJ d   R # V P                  ;'       g0    VP                  ;'       g    V P                  VP                  4      pV P                  P                  VRVVP                  VP                  RR7      V n        V P                  V4       R # )NFÚstaticT)r-  Úsdkre  rg  rh  Úforce)r…  r_  rl  Úcurrent_projectr  r`  rŽ  ra  r\  r-  Úsyncrj  rk  r‰  )rz  r‘   r6  rŠ  r    r½   r¨  r‘  s   &&&&&,  r%   Úon_push_beginÚTrackioCallback.on_push_beginS  sÞ   € Ø×*×*Ð*¨d¯m©mÒ.CÙØ#Ÿ}™}×9Ñ9×IÑI×MÑMÓOÐOˆOÒXÙØ�>�>ˆ>˜T×9Ñ9¸UÓBñ à×!Ñ!×uÐu T×%AÑ%A×uÐuÀT×EgÑEgÐhl×htÑhtÓEuð 	ð !%§¡× 2Ñ 2Ø#ØØ$Ø×)Ñ)Ø×,Ñ,Øð !3ó !
ˆÔð 	×'Ñ'¨Ö.r'   )rÊ  r`  ra  r_  rV   rG  )r  rŸ  r   r¡  r¢  r|  r�  r{  Ústaticmethodr\  r{  r  r‰  r’  rŒ  r�  r˜  rA  rE  rª  r£  r¤  r¥  s   @r%   rJ  rJ  §  sƒ   ø‡ € ñð ;€IØ%-Ð"ð	Dð ð
 ÷	)ó ð	)ò1ò#!÷JBð B÷@/ð /ô65÷aò aô[ò ò'÷/ð /r'   rJ  c                   óP   a € ] tR tRt o RtR tR tRR ltRR ltR t	R	 t
R
tV tR# )ÚCometCallbackij  zW
A [`TrainerCallback`] that sends the logs to [Comet ML](https://www.comet.com/site/).
c                óŒ   € \         R J g   \        R J d   \        R\         R\         R24      hR V n        R V n        RV n        R# )Fz!CometCallback requires comet-ml>=z- to be installed. Run `pip install comet-ml>=z`.N)r2   r3   rr   r7   rÊ  Ú_log_assetsÚ_experimentr¼  s   &r%   r{  ÚCometCallback.__init__o  s`   € Ü %Ó'Ô+BÀeÓ+KÜØ3Ô4FÐ3GÐGtô  vHð  uIð  IKð  Lóð ð "ˆÔØ ˆÔØˆÖr'   c                ó0  € RV n         \        P                  ! RR4      P                  4       pVR9   d   RV n        VP
                  '       EdÉ   \        P                  ! R4      pRpRpVe;   VP                  4       pVR9   d   TpM V'       d   \        P                  RV4       R# VP                  '       d   Ve   \        P                  RV4       Rp^ RI
pVP                  ! VP                  R	7      p	VP                  ! WvV	R
7      V n        V P                  P                  VRR7       RVP!                  4       /p
\#        VR4      '       d-   VP$                  e   VP$                  P!                  4       pWºR&   \#        VR4      '       d   VP&                  e   VP&                  pWÊR&   V P                  P)                  V
RRRR7       VP                  '       d9   \+        VRR4      p\+        VRR4      pV P                  P-                  WÞR7       R# R# R# )a|  
Setup the optional Comet integration.

Environment:
- **COMET_MODE** (`str`, *optional*, default to `get_or_create`):
    Control whether to create and log to a new Comet experiment or append to an existing experiment.
    It accepts the following values:
        * `get_or_create`: Decides automatically depending if
          `COMET_EXPERIMENT_KEY` is set and whether an Experiment
          with that key already exists or not.
        * `create`: Always create a new Comet Experiment.
        * `get`: Always try to append to an Existing Comet Experiment.
          Requires `COMET_EXPERIMENT_KEY` to be set.
- **COMET_START_ONLINE** (`bool`, *optional*):
    Whether to create an online or offline Experiment.
- **COMET_PROJECT_NAME** (`str`, *optional*):
    Comet project name for experiments.
- **COMET_LOG_ASSETS** (`str`, *optional*, defaults to `TRUE`):
    Whether or not to log training assets (checkpoints, etc), to Comet. Can be `TRUE`, or
    `FALSE`.

For a number of configurable items in the environment, see
[here](https://www.comet.com/docs/v2/guides/experiment-management/configure-sdk/#explore-comet-configuration-options).
TÚCOMET_LOG_ASSETSrK   Ú
COMET_MODENÚcreatez:Invalid COMET_MODE env value %r, Comet logging is disabledzjHyperparameter Search is enabled, forcing the creation of new experiments, COMET_MODE value %r  is ignored)rü   )Úonliner  Úexperiment_configÚtransformers)Ú	frameworkr‘   r  rÐ  Úmanual)rº  ÚsourceÚflatten_nestedr7  Útrial_params)Úoptimization_idrì  >   Ú1rL   )r  Úget_or_creater¶  )rÊ  rN   rO   rP   r°  r…  rR  r4   r5   r†  r   ÚExperimentConfigrð  Ústartr±  Ú!__internal_api__set_model_graph__rï  r$   r  rÐ  Ú __internal_api__log_parameters__rœ   Úlog_optimization)rz  r‘   r6  r    Ú
log_assetsÚcomet_old_moder  r·  r   r¸  rp   r„  rÐ  r¿  Úoptimization_paramss   &&&&           r%   r  ÚCometCallback.setupx  sã  € ð2 !ˆÔÜ—Y’YÐ1°7Ó;×AÑAÓCˆ
Ø˜Ô&Ø#ˆDÔØ×&×&Ñ&ÜŸYšY |Ó4ˆNàˆDØˆFàÒ)Ø!/×!5Ñ!5Ó!7�Ø!Ð%GÔGØ)‘Dß#Ü—N‘NÐ#_ÐaoÔpÙð ×*×*Ð*ØÒ#Ü—N‘Nð EØ&ôð  �ãà (× 9Ò 9¸t¿}¹}Ô MÐà'Ÿ~š~°VÐZkÔlˆDÔØ×Ñ×>Ñ>¸uÐP^Ð>Ô_à˜dŸl™l›nÐ-ˆFä�u˜h×'Ò'¨E¯L©LÒ,DØ$Ÿ|™|×3Ñ3Ó5�Ø#/�xÑ Ü�u˜m×,Ò,°×1BÑ1BÒ1NØ#×/Ñ/�Ø(3�}Ñ%à×Ñ×=Ñ=Ø .¸ÐRVð >ô ð ×*×*Ð*Ü")¨%°¸tÓ"D�Ü&-¨e°^ÀTÓ&JÐ#à× Ñ ×1Ñ1À/Ð1Örñ	 +ñW 'r'   Nc                óR   € V P                   '       g   V P                  WV4       R # R # rV   r•  r–  s   &&&&&,r%   rŒ  ÚCometCallback.on_train_beginÆ  ó!   € Ø× × Ð Ø�J‰J�t EÖ*ñ !r'   c                ó  € V P                   '       g   V P                  WV4       VP                  '       dP   V P                  e@   \	        V4      pV P                  P                  WrP                  VP                  RR7       R # R # R # )Nr¹  ©Ústepr<  rº  ©rÊ  r  r…  r±  r9  Ú__internal_api__log_metrics__r”  r<  )rz  r‘   r6  rŠ  r    r—  r½   Úrewritten_logss   &&&&&&, r%   r˜  ÚCometCallback.on_logÊ  ss   € Ø× × Ð Ø�J‰J�t EÔ*Ø×&×&Ð&Ø×ÑÒ+Ü!-¨dÓ!3�Ø× Ñ ×>Ñ>Ø"×):Ñ):À%Ç+Á+ÐYgð ?ö ñ ,ñ 'r'   c                óŒ  € V P                   '       d²   VP                  '       dž   V P                  eY   V P                  RJ dI   \        P                  R4       V P                  P                  VP                  RRVP                  R7       VP                  '       d$   V P                  P                  4        RV n         R # R # R # R # )NTz(Logging checkpoints. This may take time.)Ú	recursiveÚlog_file_namerÐ  F)rÊ  r…  r±  r°  r4   r  Úlog_asset_folderr‡  r”  r†  Úcleanrœ  s   &&&&,r%   r�  ÚCometCallback.on_train_endÔ  s¢   € Ø××Ð ×!<×!<Ð!<Ø×ÑÒ+Ø×#Ñ# tÓ+Ü—K‘KÐ JÔKØ×$Ñ$×5Ñ5ØŸ™°4ÀtÐRW×RcÑRcð 6ô ð
 ×*×*Ð*Ø× Ñ ×&Ñ&Ô(Ø$)�Ö!ñ +ñ "=Ñr'   c                ó  € V P                   '       g   V P                  WR R7       VP                  '       dP   V P                  e@   \	        V4      pV P                  P                  WbP                  VP                  RR7       R # R # R # )N)r    r¹  rÏ  rÑ  )rz  r‘   r6  rŠ  r¨   r½   Úrewritten_metricss   &&&&&, r%   rE  ÚCometCallback.on_predictâ  st   € Ø× × Ð Ø�J‰J�t¨$ˆJÔ/Ø×&×&Ð&¨4×+;Ñ+;Ò+GÜ ,¨WÓ 5ÐØ×Ñ×:Ñ:Ø!×(9Ñ(9ÀÇÁÐXfð ;ö ñ ,HÑ&r'   )r±  rÊ  r°  rV   rG  )r  rŸ  r   r¡  r¢  r{  r  rŒ  r˜  r�  rE  r£  r¤  r¥  s   @r%   r®  r®  j  s0   ø‡ € ñò òLsô\+ôò*÷ð r'   r®  c                   ó>   a € ] tR tRt o RtRR ltR tRR ltRtV t	R# )	ÚAzureMLCallbackiì  z`
A [`TrainerCallback`] that sends the logs to [AzureML](https://pypi.org/project/azureml-sdk/).
Nc                óH   € \        4       '       g   \        R 4      hWn        R# )zPAzureMLCallback requires azureml to be installed. Run `pip install azureml-sdk`.N)rH   rr   Úazureml_run)rz  rá  s   &&r%   r{  ÚAzureMLCallback.__init__ñ  s   € Ü#×%Ò%ÜÐqÓrÐrØ&Ör'   c                ó„   € ^ RI Hp V P                  f,   VP                  '       d   VP	                  4       V n        R# R# R# )rl   ©ÚRunN)Úazureml.core.runrå  rá  r…  Úget_context)rz  r‘   r6  rŠ  r½   rå  s   &&&&, r%   Úon_init_endÚAzureMLCallback.on_init_endö  s4   € Ý(à×ÑÒ#¨×(C×(CÐ(CØ"Ÿ™Ó0ˆDÖñ )DÑ#r'   c                óþ   € V P                   '       dk   VP                  '       dW   VP                  4        F@  w  rg\        V\        \
        34      '       g   K#  V P                   P                  WgVR 7       KB  	  R# R# R# ))ÚdescriptionN)rá  r…  r[  rm   r|   r’  rÜ  r–  s   &&&&&,  r%   r˜  ÚAzureMLCallback.on_logü  s]   € Ø××Ð × ;× ;Ð ;ØŸ
™
ž‘�Ü˜a¤#¤u ×.Ô.Ø×$Ñ$×(Ñ(¨¸1Ð(Ö=ó %ñ !<Ñr'   )rá  rV   )
r  rŸ  r   r¡  r¢  r{  rè  r˜  r£  r¤  r¥  s   @r%   rß  rß  ì  s   ø‡ € ñô'ò
1÷>ò >r'   rß  c                   óV   a € ] tR tRt o RtR tR tRR ltRR ltR t	R	 t
R
 tRtV tR# )ÚMLflowCallbacki  z¦
A [`TrainerCallback`] that sends the logs to [MLflow](https://www.mlflow.org/). Can be disabled by setting
environment variable `DISABLE_MLFLOW_INTEGRATION = TRUE`.
c                ó  € \        4       '       g   \        R 4      h^ RIpVP                  P                  P
                  V n        VP                  P                  P                  V n        RV n	        RV n
        RV n        Wn        R# )zIMLflowCallback requires mlflow to be installed. Run `pip install mlflow`.NF)rQ   rr   rM   ÚutilsÚ
validationÚMAX_PARAM_VAL_LENGTHÚ_MAX_PARAM_VAL_LENGTHÚMAX_PARAMS_TAGS_PER_BATCHÚ_MAX_PARAMS_TAGS_PER_BATCHrÊ  Ú_auto_end_runÚ_log_artifactsÚ_ml_flow)rz  rM   s   & r%   r{  ÚMLflowCallback.__init__	  sg   € Ü"×$Ò$ÜÐjÓkÐkÛà%+§\¡\×%<Ñ%<×%QÑ%QˆÔ"Ø*0¯,©,×*AÑ*A×*[Ñ*[ˆÔ'à!ˆÔØ"ˆÔØ#ˆÔØŽr'   c           
     ó¶  € \         P                  ! RR4      P                  4       \        9   V n        \         P                  ! RR4      P                  4       \        9   V n        \         P                  ! RR4      V n        \         P                  ! RR4      V n        \         P                  ! RR4      P                  4       \        9   V n        \         P                  ! RR4      V n	        \         P                  ! R	R4      V n
        \        P                  P                  V P                  P                  4      \        P                  P                  R
4      8¬  V n        \"        P%                  RV P                   RVP&                   RV P
                   RV P                   24       VP(                  '       Ed   V P                  P+                  4       '       gq   V P                  '       dI   V P                  P-                  V P                  4       \"        P%                  RV P                   24       MF\"        P%                  R4       M0\"        P%                  RV P                  P/                  4        24       V P                  P1                  4       e%   V P
                  '       g   V P                  '       d´   V P                  '       d&   V P                  P3                  V P                  4       V P                  P5                  VP&                  V P
                  R7       \"        P%                  RV P                  P1                  4       P6                  P8                   24       RV n        VP=                  4       p\?        VR4      '       d/   VP@                  e!   VP@                  P=                  4       p/ VCVCpV P                  '       d   \C        V4      MTp\E        VPG                  4       4       FH  w  rg\I        \K        V4      4      V PL                  8”  g   K*  \"        PO                  RV RV R24       WF KJ  	  \E        VPG                  4       4      pV P                  '       dp   V P                  PQ                  4       '       dP   \S        V P                  4      p	V	\I        V4      8  d+   \"        P%                  R\I        V4       RV	 R24       VRV	 p\U        ^ \I        V4      V PV                  4       F…  p
V P                   '       d;   V P                  PY                  \[        WŠW PV                  ,            4      RR7       KO  V P                  PY                  \[        WŠW PV                  ,            4      4       K‡  	  \         P                  ! RR4      pV'       d2   \\        P^                  ! V4      pV P                  Pa                  V4       RV n1        R# )aÓ  
Setup the optional MLflow integration.

Environment:
- **HF_MLFLOW_LOG_ARTIFACTS** (`str`, *optional*):
    Whether to use MLflow `.log_artifact()` facility to log artifacts. This only makes sense if logging to a
    remote server, e.g. s3 or GCS. If set to `True` or *1*, will copy each saved checkpoint on each save in
    [`TrainingArguments`]'s `output_dir` to the local or remote artifact storage. Using it without a remote
    storage will just copy the files to your artifact location.
- **MLFLOW_TRACKING_URI** (`str`, *optional*):
    Whether to store runs at a specific path or remote server. Unset by default, which skips setting the
    tracking URI entirely.
- **MLFLOW_EXPERIMENT_NAME** (`str`, *optional*, defaults to `None`):
    Whether to use an MLflow experiment_name under which to launch the run. Default to `None` which will point
    to the `Default` experiment in MLflow. Otherwise, it is a case sensitive name of the experiment to be
    activated. If an experiment with this name does not exist, a new experiment with this name is created.
- **MLFLOW_TAGS** (`str`, *optional*):
    A string dump of a dictionary of key/value pair to be added to the MLflow run as tags. Example:
    `os.environ['MLFLOW_TAGS']='{"release.candidate": "RC1", "release.version": "2.2.0"}'`.
- **MLFLOW_NESTED_RUN** (`str`, *optional*):
    Whether to use MLflow nested runs. If set to `True` or *1*, will create a nested run inside the current
    run.
- **MLFLOW_RUN_ID** (`str`, *optional*):
    Allow to reattach to an existing run which can be useful when resuming training from a checkpoint. When
    `MLFLOW_RUN_ID` environment variable is set, `start_run` attempts to resume a run with the specified run ID
    and other parameters are ignored.
- **MLFLOW_FLATTEN_PARAMS** (`str`, *optional*, defaults to `False`):
    Whether to flatten the parameters dictionary before logging.
- **MLFLOW_MAX_LOG_PARAMS** (`int`, *optional*):
    Set the maximum number of parameters to log in the run.
ÚHF_MLFLOW_LOG_ARTIFACTSrK   ÚMLFLOW_NESTED_RUNÚMLFLOW_TRACKING_URINÚMLFLOW_EXPERIMENT_NAMEÚMLFLOW_FLATTEN_PARAMSÚMLFLOW_RUN_IDÚMLFLOW_MAX_LOG_PARAMSz2.8.0zMLflow experiment_name=z, run_name=z	, nested=z, tracking_uri=zMLflow tracking URI is set to zdEnvironment variable `MLFLOW_TRACKING_URI` is not provided and therefore will not be explicitly set.)rð  ÚnestedzMLflow run started with run_id=Tr  r�  z" for key "zá" as a parameter. MLflow's log_param() only accepts values no longer than 250 characters so we dropped this attribute. You can use `MLFLOW_FLATTEN_PARAMS` environment variable to flatten the parameters and avoid this message.z.Reducing the number of parameters to log from z to Ú.F)ÚsynchronousÚMLFLOW_TAGS)2rN   rO   rP   r   r÷  Ú_nested_runÚ_tracking_uriÚ_experiment_nameÚ_flatten_paramsÚ_run_idÚ_max_log_paramsrñ   rò   ró   rø  r   Ú
_async_logr4   Údebugrð  r…  Úis_tracking_uri_setÚset_tracking_uriÚget_tracking_uriÚ
active_runÚset_experimentÚ	start_runr  r*  rö  rï  r$   r  r   r´   r[  rZ  r}   ró  r5   Úisdigitr|   r¼   rõ  Ú
log_paramsrq   ÚjsonÚloadsÚset_tagsrÊ  )rz  r‘   r6  r    r   r„  rü   r¹   Úcombined_dict_itemsÚmax_log_paramsrÀ   Úmlflow_tagss   &&&&        r%   r  ÚMLflowCallback.setup  s{  € ô@ !ŸišiÐ(AÀ7ÓK×QÑQÓSÔWkÑkˆÔÜŸ9š9Ð%8¸'ÓB×HÑHÓJÔNbÑbˆÔÜŸYšYÐ'<¸dÓCˆÔÜ "§	¢	Ð*BÀDÓ IˆÔÜ!ŸyšyÐ)@À'ÓJ×PÑPÓRÔVjÑjˆÔÜ—y’y °$Ó7ˆŒÜ!ŸyšyÐ)@À$ÓGˆÔô
 $×+Ñ+×1Ñ1°$·-±-×2KÑ2KÓLÔPY×PaÑPa×PgÑPgÐhoÓPpÑpˆŒä�‰Ø% d×&;Ñ&;Ð%<¸KÈÏÉÀÐV_Ð`d×`pÑ`pÐ_qð rØ!×/Ñ/Ð0ð2ô	
ð ×&×&Ñ&Ø—=‘=×4Ñ4×6Ò6Ø×%×%Ð%Ø—M‘M×2Ñ2°4×3EÑ3EÔFÜ—L‘LÐ#AÀ$×BTÑBTÐAUÐ!VÕWä—L‘Lð+õô
 —‘Ð=¸d¿m¹m×>\Ñ>\Ó>^Ð=_Ð`Ôaà�}‰}×'Ñ'Ó)Ò1°T×5E×5EÐ5EÈÏÏÈØ×(×(Ð(à—M‘M×0Ñ0°×1FÑ1FÔGØ—‘×'Ñ'°·±Àt×GWÑGWÐ'ÔXÜ—‘Ð>¸t¿}¹}×?WÑ?WÓ?Y×?^Ñ?^×?eÑ?eÐ>fÐgÔhØ%)�Ô"Ø ŸL™L›NˆMÜ�u˜h×'Ò'¨E¯L©LÒ,DØ$Ÿ|™|×3Ñ3Ó5�Ø A <Ð A°=Ð A�Ø;?×;O×;OÐ;OœL¨Ô7ÐUbˆMä# M×$7Ñ$7Ó$9Ö:‘�ä”s˜5“z“? T×%?Ñ%?Ö?Ü—N‘NØCÀEÀ7È+ÐVZÐU[ð \/ð /ôð &Ò+ñ  ;ô #' }×':Ñ':Ó'<Ó"=ÐØ×#×#Ð#¨×(<Ñ(<×(DÑ(D×(FÒ(FÜ!$ T×%9Ñ%9Ó!:�Ø!¤CÐ(;Ó$<Ô<Ü—L‘LØHÌÐM`ÓIaÐHbÐbfÐguÐfvÐvwÐxôð +>¸o¸~Ð*NÐ'Ü˜1œcÐ"5Ó6¸×8WÑ8WÖX�Ø—?—?�?Ø—M‘M×,Ñ,ÜÐ0°Q×9XÑ9XÕ5XÐYÓZÐhmð -ö ð —M‘M×,Ñ,¬TÐ2EÈ!×NmÑNmÕJmÐ2nÓ-oÖpñ Yô Ÿ)š) M°4Ó8ˆKßÜ"Ÿjšj¨Ó5�Ø—‘×&Ñ& {Ô3Ø ˆÖr'   Nc                óR   € V P                   '       g   V P                  WV4       R # R # rV   r•  r–  s   &&&&&,r%   rŒ  ÚMLflowCallback.on_train_begin�  rÍ  r'   c           
     ó  € V P                   '       g   V P                  WV4       VP                  '       EdL   / pVP                  4        F˜  w  r‰\	        V	\
        \        34      '       d   W—V&   K'  \	        V	\        P                  4      '       d*   V	P                  4       ^8X  d   V	P                  4       Wx&   Kp  \        P                  RV	 R\        V	4       RV R24       Kš  	  VP                  4        UU	u/ uF  w  r‰\        P                  ! RRV4      V	bK   	  p
pp	V P                   '       d*   V P"                  P%                  W¢P&                  RR7       R
# V P"                  P%                  W¢P&                  R	7       R
# R
# u up	pi )é   r�  r�  r‘  zc" as a metric. MLflow's log_metric() only accepts float and int types so we dropped this attribute.z[^0-9A-Za-z_\-\.\ :/]rj  F)r¨   rÐ  r  )r¨   rÐ  N)rÊ  r  r…  r[  rm   r|   r’  r˜   ÚTensorÚnumelÚitemr4   r5   r  rT  rU  r  rø  Úlog_metricsr”  )rz  r‘   r6  rŠ  r—  r    r½   r¨   rb  rc  Úsanitized_metricss   &&&&&&,    r%   r˜  ÚMLflowCallback.on_log…  sB  € Ø× × Ð Ø�J‰J�t EÔ*Ø×&×&Ñ&ØˆGØŸ
™
ž‘�Ü˜a¤#¤u ×.Ò.Ø!"˜A“JÜ ¤5§<¡<×0Ò0°Q·W±W³YÀ!´^Ø!"§¡£�G“Jä—N‘NØCÀAÀ3ÀjÔQUÐVWÓQXÐPYÐYcÐdeÐcfð goð oöñ %ð Za×YfÑYfÔYhÔ iÑYhÑQUÐQR¤§¢Ð(@À#ÀqÓ!IÈ1Ò!LÑYhÐÑ ià��ˆØ—‘×)Ñ)Ð2C×J[ÑJ[ÐinÐ)Öoà—‘×)Ñ)Ð2C×J[ÑJ[Ð)Ö\ñ' 'ùó !js   Ã9$Fc                óö   € V P                   '       dg   VP                  '       dS   V P                  '       d?   V P                  P	                  4       '       d   V P                  P                  4        R # R # R # R # R # rV   )rÊ  r…  rö  rø  r  Úend_runrœ  s   &&&&,r%   r�  ÚMLflowCallback.on_train_end�  sX   € Ø××Ð ×!<×!<Ð!<Ø×!×!Ð! d§m¡m×&>Ñ&>×&@Ò&@Ø—‘×%Ñ%Ö'ñ 'AÑ!ñ "=Ñr'   c                óº  € V P                   '       dÉ   VP                  '       dµ   V P                  '       d¡   R VP                   2p\        P
                  P                  VP                  V4      p\        P                  RV R24       V P                  P                  P                  VRV/V P                  P                  P                  4       R7       R# R# R# R# )r6  r7  z. This may take time.Ú
model_path)Ú	artifactsÚpython_modelN)rÊ  r…  r÷  r”  rN   r�   r�   r‡  r4   r  rø  ÚpyfuncÚ	log_modelÚPythonModel©rz  r‘   r6  rŠ  r½   r>  r?  s   &&&&,  r%   rA  ÚMLflowCallback.on_save¢  s±   € Ø××Ð ×!<×!<Ð!<À×AT×ATÐATØ$ U×%6Ñ%6Ð$7Ð8ˆHÜŸG™GŸL™L¨¯©¸(ÓCˆMÜ�K‰KÐ:¸8¸*ÐDYÐZÔ[Ø�M‰M× Ñ ×*Ñ*ØØ'¨Ð7Ø!Ÿ]™]×1Ñ1×=Ñ=Ó?ð +ö ñ	 BUÑ!<Ñr'   c                óî   € V P                   '       dc   \        \        V P                  R R4      4      '       d;   V P                  P	                  4       e   V P                  P                  4        R# R# R# R# )r  N)rö  Úcallablerœ   rø  r  r(  r¼  s   &r%   Ú__del__ÚMLflowCallback.__del__­  s[   € ð ××ÐÜœ §¡°¸dÓC×DÒDØ—‘×(Ñ(Ó*Ò6à�M‰M×!Ñ!Ö#ñ 7ñ Eñ r'   )rõ  ró  r  rö  r  r	  rÊ  r÷  r  rø  r  r
  r  rV   )r  rŸ  r   r¡  r¢  r{  r  rŒ  r˜  r�  rA  r5  r£  r¤  r¥  s   @r%   rî  rî    s5   ø‡ € ñò
òi!ôV+ô]ò0(ò
	÷$ð $r'   rî  c                   óH   a a€ ] tR tRt oRtV 3R ltV 3R ltR tRtVt	V ;t
# )ÚDagsHubCallbacki¸  z`
A [`TrainerCallback`] that logs to [DagsHub](https://dagshub.com/). Extends [`MLflowCallback`]
c                ór   <€ \         SV `  4        \        4       '       g   \        R 4      h^ RIHp Wn        R# )zLDagsHubCallback requires dagshub to be installed. Run `pip install dagshub`.)ÚRepoN)Úsuperr{  rT   rA  Údagshub.uploadr:  )rz  r:  rs   s   & €r%   r{  ÚDagsHubCallback.__init__½  s+   ø€ Ü‰ÑÔÜ#×%Ò%ÜÐlÓmÐmå'àŽ	r'   c                ó®  <€ \         P                  ! RR4      P                  4       \        9   V n        \         P                  ! R4      ;'       g    RV n        \         P                  ! R4      V n        T P                  V P                  P                  \         P                  4      R,          V P                  P                  \         P                  4      R,          P                  R4      ^ ,          \         P                  ! R4      ;'       g    RR7      V n
        \        R	4      V n        V P                  f   \        R4      h\        SV `<  ! V/ VB  R
# )zÉ
Setup the DagsHub's Logging integration.

Environment:
- **HF_DAGSHUB_LOG_ARTIFACTS** (`str`, *optional*):
        Whether to save the data and model artifacts for the experiment. Default to `False`.
ÚHF_DAGSHUB_LOG_ARTIFACTSrK   ÚHF_DAGSHUB_MODEL_NAMEÚmainrý  r  ÚBRANCH)Úownerrü   Úbranchr,  NzpDagsHubCallback requires the `MLFLOW_TRACKING_URI` environment variable to be set. Did you run `dagshub.init()`?éþÿÿÿéÿÿÿÿ)rN   rO   rP   r   Úlog_artifactsrü   Úremoter:  rz  ÚsepÚrepor   r�   rr   r;  r  )rz  r‘   r½   rs   s   &*,€r%   r  ÚDagsHubCallback.setupÆ  sþ   ø€ ô  ŸYšYÐ'AÀ7ÓK×QÑQÓSÔWkÑkˆÔÜ—I’IÐ5Ó6×@Ð@¸&ˆŒ	Ü—i’iÐ 5Ó6ˆŒØ—I‘IØ—+‘+×#Ñ#¤B§F¡FÓ+¨BÕ/Ø—‘×"Ñ"¤2§6¡6Ó*¨2Õ.×4Ñ4°SÓ9¸!Õ<Ü—9’9˜XÓ&×0Ð0¨&ð ó 
ˆŒ	ô
 ˜Ó%ˆŒ	à�;‰;ÒÜð%óð ô
 	‰Š�tÐ&˜vÔ&r'   c                óˆ  € V P                   '       d°   \        V R R4      '       dT   \        P                  ! V P                  P
                  \        P                  P                  VP                  R4      4       V P                  P                  \        V P                  4      4      P                  VP                  4       R# R# )Útrain_dataloaderNz
dataset.pt)rG  rœ   r˜   ÚsaverM  ÚdatasetrN   r�   r�   r‡  rJ  Ú	directoryr}   r:  rœ  s   &&&&,r%   r�  ÚDagsHubCallback.on_train_endá  sz   € Ø××ÐÜ�tÐ/°×6Ò6Ü—
’
˜4×0Ñ0×8Ñ8¼"¿'¹'¿,¹,ÀtÇÁÐXdÓ:eÔfà�I‰I×Ñ¤ D§I¡I£Ó/×7Ñ7¸¿¹ÖHñ	 r'   )r:  rG  rü   r�   rH  rJ  )r  rŸ  r   r¡  r¢  r{  r  r�  r£  r¤  Ú__classcell__©rs   r¦  s   @@r%   r8  r8  ¸  s    ù‡ € ñõõ'÷6Iò Ir'   r8  c                   ó2   a a€ ] tR tRt oV 3R ltRtVtV ;t# )ÚNeptuneMissingConfigurationié  c                ó&   <€ \         SV `  R 4       R# )aA  
        ------ Unsupported ---- We were not able to create new runs. You provided a custom Neptune run to
        `NeptuneCallback` with the `run` argument. For the integration to work fully, provide your `api_token` and
        `project` by saving them as environment variables or passing them to the callback.
        N)r;  r{  )rz  rs   s   &€r%   r{  Ú$NeptuneMissingConfiguration.__init__ê  s   ø€ Ü‰Ñðö	
r'   r+   )r  rŸ  r   r¡  r{  r£  r¤  rR  rS  s   @@r%   rU  rU  é  s   ù‡ € ÷
õ 
r'   rU  c                   ó*  a € ] tR tRt o RtRtRtRtRtRt	R0t
R	R
RR
RR
RRRR
RRRR
/V 3R lR lltR tR tR tR tR t]R 4       t]R 4       tR tR tR tR tV 3R  lR! ltR" tR,R# ltR$ tR% tR& tR,R' lt]R( 4       t R,V 3R) lR* llt!R+t"V t#R
# )-ÚNeptuneCallbackiô  ag  TrainerCallback that sends the logs to [Neptune](https://app.neptune.ai).

> [!WARNING]
> Neptune integration is deprecated and will be removed in a future version of Transformers. We recommend using
> other supported experiment tracking integrations.

Args:
    api_token (`str`, *optional*): Neptune API token obtained upon registration.
        You can leave this argument out if you have saved your token to the `NEPTUNE_API_TOKEN` environment
        variable (strongly recommended). See full setup instructions in the
        [docs](https://docs.neptune.ai/setup/installation).
    project (`str`, *optional*): Name of an existing Neptune project, in the form "workspace-name/project-name".
        You can find and copy the name in Neptune from the project settings -> Properties. If None (default), the
        value of the `NEPTUNE_PROJECT` environment variable is used.
    name (`str`, *optional*): Custom name for the run.
    base_namespace (`str`, *optional*, defaults to "finetuning"): In the Neptune run, the root namespace
        that will contain all of the metadata logged by the callback.
    log_parameters (`bool`, *optional*, defaults to `True`):
        If True, logs all Trainer arguments and model parameters provided by the Trainer.
    log_checkpoints (`str`, *optional*): If "same", uploads checkpoints whenever they are saved by the Trainer.
        If "last", uploads only the most recently saved checkpoint. If "best", uploads the best checkpoint (among
        the ones saved by the Trainer). If `None`, does not upload checkpoints.
    run (`Run`, *optional*): Pass a Neptune run object if you want to continue logging to an existing run.
        Read more about resuming runs in the [docs](https://docs.neptune.ai/logging/to_existing_object).
    **neptune_run_kwargs (*optional*):
        Additional keyword arguments to be passed directly to the
        [`neptune.init_run()`](https://docs.neptune.ai/api/neptune#init_run) function when a new run is created.

For instructions and examples, see the [Transformers integration
guide](https://docs.neptune.ai/integrations/transformers) in the Neptune documentation.
z%source_code/integrations/transformersÚmodel_parametersrn   r¾  Útrainer_parametersztrain/epochÚ	api_tokenNr-  rü   Úbase_namespaceÚ
finetuningr    Úlog_parametersTÚlog_checkpointsc                óv   <€ V ^8„  d   QhRS[ R,          RS[ R,          RS[ R,          RS[ RS[RS[ R,          /# )rw   r\  Nr-  rü   r]  r_  r`  )r}   r·  )r~   r¦  s   "€r%   r   ÚNeptuneCallback.__annotate__  sa   ø€ ÷ :Dñ :Dñ ˜•:ð:Dñ �t•ð	:Dñ
 �D�jð:Dñ ð:Dñ ð:Dñ ˜t�ñ:Dr'   c               ó0  € \         P                  ! R \        4       \        4       '       g   \	        R4      h ^ RIHp	 ^ RIHp
 V
! RV\        \        R4      34       V
! RV\        \        R4      34       V
! RV\        \        R4      34       V
! RV\        4       V
! R	WY\        R4      34       V
! R
V\        4       V
! RV\        \        R4      34       W@n        W`n        Wpn        WPn        RV n        RV n        RV n        RV n        RVRVRV/VCV n        RV n        V P"                  RJV n        RV n        V P"                  R9   d   RV P"                   2V n        RV n        R# RV n        RV n        R#   \         d    ^ RI
Hp
 ^ RIHp	  ELPi ; i)zŸThe NeptuneCallback is deprecated and will be removed in a future version of Transformers. We recommend using other supported experiment tracking integrations.zwNeptuneCallback requires the Neptune client library to be installed. To install the library, run `pip install neptune`.rä  )Úverify_typer\  Nr-  rü   r]  r    r_  r`  Fzcheckpoints/TÚcheckpoints>   r¿   r  )ÚwarningsÚwarnÚFutureWarningrX   Ú
ValueErrorr   rå  Úneptune.internal.utilsrd  rA  Úneptune.new.internal.utilsÚ#neptune.new.metadata_containers.runr}   r  r·  Ú_base_namespace_pathÚ_log_parametersÚ_log_checkpointsÚ_initial_runÚ_runÚ_is_monitoring_runr
  Ú_force_reset_monitoring_runÚ_init_run_kwargsÚ_volatile_checkpoints_dirÚ_should_upload_checkpointÚ_recent_checkpoint_pathÚ_target_checkpoints_namespaceÚ*_should_clean_recently_uploaded_checkpoint)rz  r\  r-  rü   r]  r    r_  r`  Úneptune_run_kwargsrå  rd  s   &$$$$$$$,  r%   r{  ÚNeptuneCallback.__init__  s–  € ô 	�ŠðFäô	
ô
 $×%Ò%ÜðEóð ð
	@Ý#Ý:ñ
 	�K ¬S´$°t³*Ð,=Ô>Ù�I˜w¬¬d°4«jÐ(9Ô:Ù�F˜D¤3¬¨T«
Ð"3Ô4ÙÐ$ n´cÔ:Ù�E˜3¤d¨4£jÐ 1Ô2ÙÐ$ n´dÔ;ÙÐ% ¼¼dÀ4»jÐ8IÔJà$2Ô!Ø-ÔØ /ÔØ(+ÔàˆŒ	Ø"'ˆÔØˆŒØ+0ˆÔ(Ø!,¨i¸ÀGÈVÐUYÐ pÐ]oÐ pˆÔà)-ˆÔ&Ø)-×)>Ñ)>ÀdÐ)JˆÔ&Ø'+ˆÔ$à× Ñ Ð$4Ô4Ø3?À×@UÑ@UÐ?VÐ1WˆDÔ.Ø>BˆDÖ;à1>ˆDÔ.Ø>CˆDÖ;øôA ô 	@Ý>ß?Ð?ð	@ús   ¸E: Å:FÆFc                ót   € V P                   '       d&   V P                   P                  4        V = R V n         R # R # rV   )rq  Ústopr¼  s   &r%   Ú_stop_run_if_existsÚ#NeptuneCallback._stop_run_if_existsX  s*   € Ø�9�9ˆ9Ø�I‰I�N‰NÔØ�	ØˆDŽIñ r'   c                óv  €  ^ RI Hp ^ RIHpHp V P                  4         VP                  4       pVP                  V P                  4       V! R/ VB V n        V P                  R,          P                  4       V n        R#   \
         d    ^ RIHp ^ RIHpHp  LŒi ; i  YC3 d   p\        4       ThRp?ii ; i)rl   )Úinit_run)ÚNeptuneMissingApiTokenExceptionÚ"NeptuneMissingProjectNameExceptionúsys/idNr+   )r   r�  Úneptune.exceptionsr‚  rƒ  rA  Úneptune.newÚneptune.new.exceptionsr~  r  rÔ   rt  rq  Úfetchr
  rU  )rz  Úadditional_neptune_kwargsr�  r‚  rƒ  Ú
run_paramsrœ  s   &,     r%   Ú_initialize_runÚNeptuneCallback._initialize_run^  s¦   € ð	sÝ(ßnð
 	× Ñ Ô"ð	7Ø2×7Ñ7Ó9ˆJØ×Ñ˜d×3Ñ3Ô4Ù Ñ. :Ñ.ˆDŒIØŸ9™9 XÕ.×4Ñ4Ó6ˆDŽLøô ô 	sÝ,ßrÑrð	sûð 3ÐTô 	7Ü-Ó/°QÐ6ûð	7ús)   ‚B ¡AB  ÂBÂBÂ B8Â(B3Â3B8c                ó�   € V P                   V n        R V n        V P                  R,          P                  4       V n        RV n         R# )Tr„  N)rp  rq  rr  rˆ  r
  r¼  s   &r%   Ú_use_initial_runÚ NeptuneCallback._use_initial_runp  s8   € Ø×%Ñ%ˆŒ	Ø"&ˆÔØ—y‘y Õ*×0Ñ0Ó2ˆŒØ ˆÖr'   c                óv  € V P                   e   V P                  4        R # V P                  '       g   V P                  '       d   R # V P                  '       dJ   V P                  '       g8   V P                  '       g&   V P                  V P                  R7       RV n        R # V P                  4        RV n        R # )N)Úwith_idTF)rp  rŽ  rs  rr  rq  r‹  r
  r¼  s   &r%   Ú_ensure_run_with_monitoringÚ+NeptuneCallback._ensure_run_with_monitoringv  s„   € Ø×ÑÒ(Ø×!Ñ!Ö#à×3×3Ð3¸×8O×8OÐ8OÙà�y�yˆy ×!8×!8Ð!8À×Aa×AaÐAaØ×$Ñ$¨T¯\©\Ð$Ô:Ø*.�Ö'à×$Ñ$Ô&Ø38�Ö0r'   c                ó¼   € V P                   e   V P                  4        R # V P                  '       g*   V P                  V P                  RRRRR7       RV n        R # R # )NF)r‘  Úcapture_stdoutÚcapture_stderrÚcapture_hardware_metricsÚcapture_traceback)rp  rŽ  rq  r‹  r
  rr  r¼  s   &r%   Ú'_ensure_at_least_run_without_monitoringÚ7NeptuneCallback._ensure_at_least_run_without_monitoring„  sX   € Ø×ÑÒ(Ø×!Ñ!Ö#à—9—9�9Ø×$Ñ$Ø ŸL™LØ#(Ø#(Ø-2Ø&+ð %ô ð +0�Ö'ñ r'   c                óV   € V P                   f   V P                  4        V P                   # rV   )rq  r™  r¼  s   &r%   r    ÚNeptuneCallback.run’  s"   € à�9‰9ÒØ×8Ñ8Ô:Ø�y‰yÐr'   c                ó<   € V P                   V P                  ,          # rV   )r    rm  r¼  s   &r%   Ú_metadata_namespaceÚ#NeptuneCallback._metadata_namespace˜  s   € à�x‰x˜×1Ñ1Õ2Ð2r'   c                óH   € \         V P                  \        P                  &   R # rV   )rò   r    rY  Úintegration_version_keyr¼  s   &r%   Ú_log_integration_versionÚ(NeptuneCallback._log_integration_versionœ  s   € Ü<Cˆ�‰”×8Ñ8Ó9r'   c                ó\   € VP                  4       V P                  \        P                  &   R # rV   )Úto_sanitized_dictrž  rY  Útrainer_parameters_keyr€  s   &&r%   Ú_log_trainer_parametersÚ'NeptuneCallback._log_trainer_parametersŸ  s!   € ØKO×KaÑKaÓKcˆ× Ñ ¤×!GÑ!GÓHr'   c                óä   € ^ RI Hp V'       db   \        VR4      '       dN   VP                  e>   V! VP                  P	                  4       4      V P
                  \        P                  &   R# R# R# R# )rl   )Ústringify_unsupportedr  N)Úneptune.utilsrª  r$   r  rï  rž  rY  Úmodel_parameters_key)rz  r    rª  s   && r%   Ú_log_model_parametersÚ%NeptuneCallback._log_model_parameters¢  sT   € Ý7ç”W˜U H×-Ò-°%·,±,Ò2JÙMbØ—‘×$Ñ$Ó&óNˆD×$Ñ$¤_×%IÑ%IÓJñ 3KÑ-‰5r'   c                ó2  € V'       d:   \        VR 4      '       d(   VP                  V P                  \        P                  &   V'       dN   \        VR4      '       d:   VP
                  e*   VP
                  V P                  \        P                  &   R# R# R# R# )r7  r¾  N)r$   r7  rž  rY  Útrial_name_keyr¾  Útrial_params_key)rz  r6  s   &&r%   Ú"_log_hyper_param_search_parametersÚ2NeptuneCallback._log_hyper_param_search_parametersª  sn   € ß”W˜U L×1Ò1ØGL×GWÑGWˆD×$Ñ$¤_×%CÑ%CÑDç”W˜U N×3Ò3¸×8JÑ8JÒ8VØIN×I[ÑI[ˆD×$Ñ$¤_×%EÑ%EÓFñ 9WÑ3‰5r'   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# )rw   Úsource_directoryr¤   rf  )r~   r¦  s   "€r%   r   rb  ±  s   ø€ ÷ 5ñ 5±cð 5Ásñ 5r'   c                ó
  € \         P                  P                  W4      ;r4V P                  eœ   \         P                  P                  V P                  V4      p VP	                  RR4      P                  \         P                  P                  4      p\         P                  P                  WV4      p\        P                  ! WG4       TpV P                  V P                  ,          P                  V4       V P                  '       dE   V P                   e7   V P                  V P                  ,          P#                  V P                   4       W@n        R #   \         d$   p\        P                  RT R24        R p?L³R p?ii ; i)Nz..rä   zONeptuneCallback was unable to made a copy of checkpoint due to I/O exception: 'z'. Could fail trying to upload.)rN   r�   r�   ru  rS  ÚlstriprI  ÚshutilÚcopytreeÚOSErrorr4   r5   rž  rx  Úupload_filesry  rw  Údelete_files)	rz  rµ  r¤   Útarget_pathÚrelative_pathÚconsistent_checkpoint_pathÚ	cpkt_pathÚ	copy_pathrœ  s	   &&&      r%   Ú_log_model_checkpointÚ%NeptuneCallback._log_model_checkpoint±  s*  € Ü&(§g¡g§l¡lÐ3CÓ&PÐPˆà×)Ñ)Ò5Ü)+¯©¯©°d×6TÑ6TÐV`Ó)aÐ&ð
à)×1Ñ1°$¸Ó;×BÑBÄ2Ç7Á7Ç;Á;ÓO�	ÜŸG™GŸL™LÐ)CÓO�	Ü—’ Ô9Ø8�ð 	× Ñ  ×!CÑ!CÕD×QÑQÐR]Ô^à×:×:Ð:¸t×?[Ñ?[Ò?gØ×$Ñ$ T×%GÑ%GÕH×UÑUÐVZ×VrÑVrÔsà'4Ö$øô ô Ü—‘ØeÐfgÐehð i3ð 3÷ñ ûðús   ÁA0E ÅFÅE=Å=Fc                óü   € R V n         V P                  '       d3   VP                  e%   \        P                  ! 4       P
                  V n         V P                  R8X  d    VP                  '       g   \        R4      hR # R # )Nr¿   zWTo save the best model checkpoint, the load_best_model_at_end argument must be enabled.)ru  ro  Úsave_total_limitrÕ   rÖ   rü   r   ri  rœ  s   &&&&,r%   rè  ÚNeptuneCallback.on_init_endÉ  sf   € Ø)-ˆÔ&Ø× × Ð  T×%:Ñ%:Ò%FÜ-5×-HÒ-HÓ-J×-OÑ-OˆDÔ*à× Ñ  FÔ*°4×3N×3NÐ3NÜÐvÓwÐwñ 4OÑ*r'   c                ó.  € VP                   '       g   R # V P                  4        RV n        V P                  4        V P                  '       d#   V P                  V4       V P                  V4       VP                  '       d   V P                  V4       R # R # )NT)	r…  r’  rs  r¢  rn  r§  r­  r†  r²  r–  s   &&&&&,r%   rŒ  ÚNeptuneCallback.on_train_beginÑ  sx   € Ø×*×*Ð*Ùà×(Ñ(Ô*Ø+/ˆÔ(à×%Ñ%Ô'Ø××ÐØ×(Ñ(¨Ô.Ø×&Ñ& uÔ-à×&×&Ð&Ø×3Ñ3°EÖ:ñ 'r'   c                ó&   € V P                  4        R # rV   )r~  rœ  s   &&&&,r%   r�  ÚNeptuneCallback.on_train_endà  s   € Ø× Ñ Ö"r'   c                ó†   € V P                   e#   \        P                  ! V P                   RR7       V P                  4        R # )NT)Úignore_errors)ru  r¸  Úrmtreer~  r¼  s   &r%   r5  ÚNeptuneCallback.__del__ã  s.   € Ø×)Ñ)Ò5Ü�MŠM˜$×8Ñ8ÈÕMà× Ñ Ö"r'   c                ó€   € V P                   '       d,   V P                  VP                  R VP                   24       R# R# )r6  N)rv  rÂ  r‡  r”  rœ  s   &&&&,r%   rA  ÚNeptuneCallback.on_saveé  s5   € Ø×)×)Ð)Ø×&Ñ& t§¡¸+Àe×FWÑFWÐEXÐ8YÖZñ *r'   c                ó\  € V P                   R 8X  d›   VP                  pVP                  R4      '       g   RV 2pVP                  V4      pVP                  '       d   \
        P                  M\
        P                  pVP                  RJ ;'       g    V! WrP                  4      V n	        R# R# )r¿   rW  N)
ro  r$  rŽ   r  Úgreater_is_betterÚnpÚgreaterÚlessr%  rv  )	rz  r‘   r6  rŠ  r¨   r½   Úbest_metric_nameÚmetric_valueÚoperators	   &&&&&,   r%   Úon_evaluateÚNeptuneCallback.on_evaluateí  s‘   € Ø× Ñ  FÔ*Ø#×9Ñ9ÐØ#×.Ñ.¨w×7Ò7Ø%*Ð+;Ð*<Ð#=Ð à"Ÿ;™;Ð'7Ó8ˆLà%)×%;×%;Ð%;”r—z’zÄÇÁˆHà-2×->Ñ->À$Ð-F×-sÐ-sÉ(ÐS_×arÑarÓJsˆDÖ*ñ +r'   c                ó�   € VP                   P                   F"  p\        W 4      '       g   K  VP                  u # 	  \	        R 4      h)z6The trainer doesn't have a NeptuneCallback configured.)rB  rC  rm   r    r›  )rí   r©   rM  s   && r%   Úget_runÚNeptuneCallback.get_runù  s;   € à×0Ñ0×:Ô:ˆHÜ˜(×(Ô(Ø—|‘|Ò#ñ ;ô ÐPÓQÐQr'   c                óD   <€ V ^8„  d   QhRS[ S[S[3,          R,          /# )rw   r—  N)rq   r}   r’  )r~   r¦  s   "€r%   r   rb    s%   ø€ ÷ 
Zñ 
Z±±c¹5°jÕ1AÀDÕ1Hñ 
Zr'   c                ó^  € VP                   '       g   R # Ve•   \        V4      P                  4        Fu  w  rg\        V\        \
        34      '       g   K#  V\        P                  9   d   WpP                  V&   KH  V P                  V,          P                  WrP                  R7       Kw  	  R # R # )N©rÐ  )r…  r9  r[  rm   r|   r’  rY  Úflat_metricsrž  rÜ  r”  )rz  r‘   r6  rŠ  r—  r½   rü   r¹   s   &&&&&,  r%   r˜  ÚNeptuneCallback.on_log  s…   € Ø×*×*Ð*ÙàÒÜ+¨DÓ1×7Ñ7Ö9‘�Ü˜e¤c¬5 \×2Ô2Øœ×;Ñ;Ô;Ø9>×0Ñ0°Ó6à×0Ñ0°Õ6×:Ñ:¸5×GXÑGXÐ:ÖYó  :ñ r'   )rm  rs  rt  rp  rr  ro  rn  rw  rq  r
  ry  rv  rx  ru  rV   )$r  rŸ  r   r¡  r¢  r¡  r¬  r°  r±  r¦  rá  r{  r~  r‹  rŽ  r’  r™  rÄ  r    rž  r¢  r§  r­  r²  rÂ  rè  rŒ  r�  r5  rA  rÙ  rÅ  rÜ  r˜  r£  r¤  r¥  s   @r%   rY  rY  ô  s7  ø‡ € ñð@ FÐØ-ÐØ€NØ%ÐØ1ÐØ!�?€Lð:Dð !%ð:Dð #ð	:Dð
  ð:Dð +ð:Dð ð:Dð  $ð:Dð '+÷:Dò :Dòxò7ò$!ò9ò0ð ñó ðð
 ñ3ó ð3òDòdòò\÷5ð 5ò0xô;ò#ò#ò[ô
tð ñRó ðR÷
Z÷ 
Zð 
Zr'   rY  c                   ó@   a € ] tR tRt o RtR tR tR	R ltR tRt	V t
R# )
ÚCodeCarbonCallbacki  zA
A [`TrainerCallback`] that tracks the CO2 emission of training.
c                ó´   € \        4       '       g   \        R 4      h\        P                  P                  '       d   \        R4      h^ RIpWn        RV n        R# )zWCodeCarbonCallback requires `codecarbon` to be installed. Run `pip install codecarbon`.aZ  CodeCarbonCallback requires `codecarbon` package, which is not compatible with AMD ROCm (https://github.com/mlco2/codecarbon/pull/490). When using the Trainer, please specify the `report_to` argument (https://huggingface.co/docs/transformers/v4.39.3/en/main_classes/trainer#transformers.TrainingArguments.report_to) to disable CodeCarbonCallback.N)r[   rr   r˜   rò   ÚhiprZ   Ú_codecarbonÚtracker)rz  rZ   s   & r%   r{  ÚCodeCarbonCallback.__init__  sR   € Ü&×(Ò(ÜØióð ô �]‰]××ÐÜð móð ó 	à%ÔØˆŽr'   c                ó¤   € V P                   fB   VP                  '       d.   V P                  P                  VP                  R7      V n         R # R # R # )N)r‡  )rè  Úis_local_process_zerorç  ÚEmissionsTrackerr‡  rœ  s   &&&&,r%   rè  ÚCodeCarbonCallback.on_init_end"  s?   € Ø�<‰<Ò E×$?×$?Ð$?à×+Ñ+×<Ñ<ÈÏÉÐ<ÓXˆDŽLñ %@Ñr'   Nc                óŠ   € V P                   '       d1   VP                  '       d   V P                   P                  4        R # R # R # rV   )rè  rë  rÃ  r–  s   &&&&&,r%   rŒ  Ú!CodeCarbonCallback.on_train_begin'  s-   € Ø�<�<ˆ<˜E×7×7Ð7Ø�L‰L×ÑÖ ñ 8‰<r'   c                óŠ   € V P                   '       d1   VP                  '       d   V P                   P                  4        R # R # R # rV   )rè  rë  r}  rœ  s   &&&&,r%   r�  ÚCodeCarbonCallback.on_train_end+  s-   € Ø�<�<ˆ<˜E×7×7Ð7Ø�L‰L×ÑÖñ 8‰<r'   )rç  rè  rV   )r  rŸ  r   r¡  r¢  r{  rè  rŒ  r�  r£  r¤  r¥  s   @r%   rä  rä    s$   ø‡ € ñòòYô
!÷ ð  r'   rä  c                   ó‚   a € ] tR tRt o RtRtRtRtRtRt	Rt
R	t^ t^ tR
tRtR tR tRR ltR tRR ltR tR tRtV tR# )ÚClearMLCallbacki0  a˜  
A [`TrainerCallback`] that sends the logs to [ClearML](https://clear.ml/).

Environment:
- **CLEARML_PROJECT** (`str`, *optional*, defaults to `HuggingFace Transformers`):
    ClearML project name.
- **CLEARML_TASK** (`str`, *optional*, defaults to `Trainer`):
    ClearML task name.
- **CLEARML_LOG_MODEL** (`bool`, *optional*, defaults to `False`):
    Whether to log models as artifacts during training.
rä   ÚTransformerszModel ConfigurationÚ_ignore_hparams_ui_overrides_Ú"_ignore_model_config_ui_overrides_z%The configuration of model number {}.zöNote that, when cloning this task and running it remotely, the configuration might be applied to another model instead of this one. To avoid this, initialize the task externally by calling `Task.init` before the `ClearMLCallback` is instantiated.FNc                óŠ   € \        4       '       d   ^ RIpWn        M\        R4      hRV n        RV n        RV n        . V n        R# )rl   NzNClearMLCallback requires 'clearml' to be installed. Run `pip install clearml`.F)r0   r/   Ú_clearmlrr   rÊ  Ú_clearml_taskrË  Ú_checkpoints_saved)rz  r/   s   & r%   r{  ÚClearMLCallback.__init__O  s>   € Ü×!Ò!Ûà#�MäÐoÓpÐpà!ˆÔØ!ˆÔàˆŒØ"$ˆÖr'   c                ó‚  € V P                   f   R # V P                  '       d   R # \        ;P                  ^,          un        \        ;P                  ^,          un        \        P                  ^8X  d   RMR\        \        P                  4      ,           \        n        VP                  '       EdŽ   \        P                  R4       V P                  Ef0   \        P                  fl   V P                   P                  P                  4       '       d+   V P                   P                  P                  4       '       d   R\        n        MR\        n        V P                   P                  P                  4       '       dÄ   V P                   P                  P                  4       '       dš   V P                   P                  P                  4       V n
        \        P                   ! R\        P"                  '       g   RMR4      P%                  4       \&        P(                  ! R04      9   V n        \        P                  R	4       M¾V P                   P                  P-                  \        P                   ! R
R4      \        P                   ! RR4      RRRR/RR7      V n
        \        P                   ! RR4      P%                  4       \&        P(                  ! R04      9   V n        R\        n        \        P                  R4       RV n        \        P.                  \        P                  ,           pVR,           \        P0                  ,           pV P                   P                  P                  4       '       d6   V P3                  W4       V P                  P5                  VR\6        RR7       MuV P                  P9                  VRRR7      '       g   V P                  P;                  W4       M5V P3                  V\        P.                  \        P                  ,           4       \=        VRR 4      Ee   VR,           \        P>                  ,           p\        P@                  PC                  \        P                  4      p	\        P                  \        P                  8w  d   V	R\        PD                  ,           ,          p	V P                   P                  P                  4       '       d   V P                  P5                  VR\6        RR7       V P                  PG                  \        PH                  \        P                  ,           VPJ                  PM                  4       V	R7       R # V P                  P9                  VRRR7      '       g_   VPJ                  PO                  V P                  PQ                  \        PH                  \        P                  ,           4      4      Vn%        R # V P                  PG                  \        PH                  \        P                  ,           VPJ                  PM                  4       V	R7       R # R # R # )Nrä   rj  z"Automatic ClearML logging enabled.FTÚCLEARML_LOG_MODELrK   rL   z)External ClearML Task has been connected.ÚCLEARML_PROJECTzHuggingFace TransformersÚCLEARML_TASKr  r;   Úpytorch)Úproject_nameÚ	task_nameÚauto_connect_frameworksÚ
output_uriz"ClearML Task has been initialized.rN  )rü   r¹   Ú
value_typerë  )ÚdefaultÚcastr  Ú )rü   Úconfig_dictrë  z£If True, ignore Transformers hyperparameters overrides done in the UI/backend when running remotely. Otherwise, the overrides will be applied when running remotelyz§If True, ignore Transformers model configuration overrides done in the UI/backend when running remotely. Otherwise, the overrides will be applied when running remotely))rø  rÊ  ró  Ú_train_run_counterÚ_model_connect_counterr}   Ú
log_suffixr…  r4   r  rù  Ú_should_close_on_train_endÚTaskÚrunning_locallyÚcurrent_taskrN   rO   Ú_task_created_in_callbackrP   r   ÚunionrË  r5  Ú_hparams_sectionÚ_ignore_hparams_overridesÚ_copy_training_args_as_hparamsÚset_parameterr·  Úget_parameterÚconnectrœ   Ú_ignoge_model_config_overridesÚ_model_config_descriptionr~   Ú_model_config_description_noteÚset_configuration_objectÚ_model_config_sectionr  rï  Ú	from_dictÚ get_configuration_object_as_dict)
rz  r‘   r6  r    r  r½   Úsuffixed_hparams_sectionÚignore_hparams_config_sectionÚignore_model_config_sectionÚ configuration_object_descriptions
   &&&&&,    r%   r  ÚClearMLCallback.setup]  s©  € Ø�=‰=Ò ÙØ××ÐÙÜ×*Ò*¨aÕ/Õ*Ü×.Ò.°!Õ3Õ.ä!×4Ñ4¸Ô9‰B¸sÄSÌ×IkÑIkÓElÕ?lô 	Ô"ð ×&×&Ñ&Ü�K‰KÐ<Ô=Ø×!Ñ!Ó)Ü"×=Ñ=ÒEØŸ=™=×-Ñ-×=Ñ=×?Ò?À4Ç=Á=×CUÑCU×CbÑCb×CdÒCdØEJœÕBàEIœÔBð —=‘=×%Ñ%×5Ñ5×7Ò7¸D¿M¹M×<NÑ<N×<[Ñ<[×<]Ò<]Ø)-¯©×);Ñ);×)HÑ)HÓ)J�DÔ&Ü&(§i¢iØ+Ü'6×'P×'PÐ'P™ÐV\ó'÷ ‘e“gÔ!5×!;Ò!;¸V¸HÓ!Eñ'F�D”Oô —K‘KÐ KÕLà)-¯©×);Ñ);×)@Ñ)@Ü%'§Y¢YÐ/@ÐB\Ó%]Ü"$§)¢)¨N¸IÓ"FØ1>ÀÀyÐRWÐ0XØ#'ð	 *Aó *�DÔ&ô ')§i¢iÐ0CÀVÓ&L×&RÑ&RÓ&TÔXl×XrÒXrØ˜óYñ '�D”Oð AE”OÔ=Ü—K‘KÐ DÔEØ$(�Ô!ä'6×'GÑ'GÌ/×JdÑJdÕ'dÐ$Ø,DÀsÕ,JÌ_×MvÑMvÕ,vÐ)Ø�}‰}×!Ñ!×1Ñ1×3Ò3Ø×3Ñ3°DÔSØ×"Ñ"×0Ñ0Ø6ØÜ#ðrð 1õ ð ×'Ñ'×5Ñ5Ð6SÐ]aÐhlÐ5×mÒmØ×"Ñ"×*Ñ*¨4ÕJà×3Ñ3Øœ/×:Ñ:¼_×=WÑ=WÕWôô �u˜h¨Ó-Ó9à,¨sÕ2´_×5cÑ5cÕcð ,ô 4C×3\Ñ3\×3cÑ3cÜ#×:Ñ:ó4Ð0ô #×9Ñ9¼_×=_Ñ=_Ô_Ø4¸¼o×>lÑ>lÕ8lÕlÐ4Ø—=‘=×%Ñ%×5Ñ5×7Ò7Ø×&Ñ&×4Ñ4Ø8Ø"Ü#'ðvð 5ô ð ×&Ñ&×?Ñ?Ü,×BÑBÄ_×E_ÑE_Õ_Ø$)§L¡L×$8Ñ$8Ó$:Ø$Dð @ö ð
 ×+Ñ+×9Ñ9Ð:UÐ_cÐjnÐ9×oÒoØ#(§<¡<×#9Ñ#9Ø×*Ñ*×KÑKÜ+×AÑAÄO×D^ÑD^Õ^óó$�E–Lð ×&Ñ&×?Ñ?Ü,×BÑBÄ_×E_ÑE_Õ_Ø$)§L¡L×$8Ñ$8Ó$:Ø$Dð @ö ñ? :ñi 'r'   c                ó¶   € V P                   f   R # . V n        VP                  '       d   RV n        V P                  '       g   V P                  ! WWE3/ VB  R # R # r  )rø  rú  r†  rÊ  r  ©rz  r‘   r6  rŠ  r    r  r½   s   &&&&&&,r%   rŒ  ÚClearMLCallback.on_train_beginÀ  sO   € Ø�=‰=Ò ÙØ"$ˆÔØ×&×&Ð&Ø %ˆDÔØ× × Ð Ø�JŠJ�t EÑF¸vÔFñ !r'   c                ó€   € \         P                  '       d(   V P                  P                  4        ^ \         n        R# R# )rl   N)ró  r  rù  r›  r
  rœ  s   &&&&,r%   r�  ÚClearMLCallback.on_train_endÉ  s-   € Ü×5×5Ð5Ø×Ñ×$Ñ$Ô&Ø12ŒOÖ.ñ 6r'   c           
     ód  € V P                   f   R # V P                  '       g   V P                  ! WWE3/ VB  VP                  '       Edç   Rp\	        V4      p	Rp
\	        V
4      p. ROpVP                  4        EF±  w  rÞ\        V\        \        34      '       Edg   WÜ9   dC   V P                  P                  4       P                  V\        P                  ,           VR7       Kk  VP                  V4      '       dQ   V P                  P                  4       P                  R\        P                  ,           WÙR  VVP                   R7       KÒ  VP                  V
4      '       dR   V P                  P                  4       P                  R\        P                  ,           WÛR  VVP                   R7       EK:  V P                  P                  4       P                  R\        P                  ,           VVVP                   R7       EK‰  \"        P%                  RV R	\'        V4       R
V R24       EK´  	  R # R # )NrW  rX  )rü   r¹   Úeval)ÚtitleÚseriesr¹   Ú	iterationÚtestr›   r�  r�  r‘  zn" as a scalar. This invocation of ClearML logger's  report_scalar() is incorrect so we dropped this attribute.)r,  r.  r/  r0  r&  r<  )rø  rÊ  r  r…  rZ  r[  rm   r|   r’  rù  Ú
get_loggerÚreport_single_valueró  r  rŽ   Úreport_scalarr”  r4   r5   r  )rz  r‘   r6  rŠ  r    r  r—  r½   r^  r_  r`  ra  r2  rb  rc  s   &&&&&&&,       r%   r˜  ÚClearMLCallback.on_logÎ  sç  € Ø�=‰=Ò ÙØ× × Ð Ø�JŠJ�t EÑF¸vÒFØ×&×&Ñ&Ø!ˆKÜ! +Ó.ˆOØ!ˆKÜ! +Ó.ˆOò$Ð ð Ÿ
™
Ÿ‘�Ü˜a¤#¤u ×.Ó.ØÔ0Ø×*Ñ*×5Ñ5Ó7×KÑKØ!"¤_×%?Ñ%?Õ!?Àqð Lö ð Ÿ™ k×2Ò2Ø×*Ñ*×5Ñ5Ó7×EÑEØ"(¬?×+EÑ+EÕ"EØ#$Ð%5Ð#6Ø"#Ø&+×&7Ñ&7ð	 Fö ð Ÿ™ k×2Ò2Ø×*Ñ*×5Ñ5Ó7×EÑEØ"(¬?×+EÑ+EÕ"EØ#$Ð%5Ð#6Ø"#Ø&+×&7Ñ&7ð	 F÷ ð ×*Ñ*×5Ñ5Ó7×EÑEØ")¬O×,FÑ,FÕ"FØ#$Ø"#Ø&+×&7Ñ&7ð	 F÷ ô —N‘NðØ˜3˜j¬¨a«¨	°¸A¸3ð ?EðE÷ó9 %ñ 'r'   c                ó  € V P                   '       Ed«   V P                  '       Ed–   VP                  '       Ed�   R VP                   2p\        P
                  P                  VP                  V4      pV\        P                  ,           p\        P                  RV R24       V P                  P                  V P                  VR7      pVP                  V P                  VR7       VP                  VVVP                  RR7       V P                   P#                  V4       VP$                  '       d†   VP$                  \'        V P                   4      8  d`    V P                  P(                  P*                  P-                  V P                   ^ ,          RRRR7       T P                   R,          T n        K•  R
# R
# R
# R
# R
#   \.         dB   p	\        P1                  RT P                   ^ ,          P2                   R	T	 24        R
p	?	R
# R
p	?	ii ; i)r6  zLogging checkpoint artifact `z`. This may take some time.)Útaskrü   F)Úweights_pathÚtarget_filenamer.  Úauto_delete_fileT)Údelete_weights_filer§  Úraise_on_errorszCould not remove checkpoint `z5` after going over the `save_total_limit`. Error is: N:r   NN)rË  rù  r…  r”  rN   r�   r�   r‡  ró  r  r4   r  rø  ÚOutputModelr  Úupdate_weights_packagerú  rS  rÅ  rZ  r    ÚModelÚremover›  r5   rü   )
rz  r‘   r6  rŠ  r½   r>  r?  rü   Úoutput_modelrœ  s
   &&&&,     r%   rA  ÚClearMLCallback.on_save  sË  € Ø�?�?‰?˜t×1×1Ñ1°e×6Q×6QÑ6QØ$ U×%6Ñ%6Ð$7Ð8ˆHÜŸG™GŸL™L¨¯©¸(ÓCˆMØœo×8Ñ8Õ8ˆDÜ�K‰KÐ7¸°vÐ=XÐYÔZØŸ=™=×4Ñ4¸$×:LÑ:LÐSWÐ4ÓXˆLØ× Ñ  d×&8Ñ&8¸tÐ ÔDØ×/Ñ/Ø*Ø (Ø×+Ñ+Ø!&ð	 0ô ð ×#Ñ#×*Ñ*¨<Ô8Ø×'×'Ð'¨D×,AÑ,AÄCÈ×H_ÑH_ÓD`Ô,`ðØ—M‘M×'Ñ'×-Ñ-×4Ñ4Ø×/Ñ/°Õ2Ø,0Ø"Ø(,ð	 5ô ð +/×*AÑ*AÀ"Õ*E�Ö'ñ -aÑ'ñ 7RÑ1‰?øô, !ô Ü—N‘NØ7¸×8OÑ8OÐPQÕ8R×8WÑ8WÐ7Xð  YNð  OPð  NQð  Rôõ ûð	ús   ÅAG  Ç HÇ6HÈHc                óú  € \        V4       Uu/ uFZ  pVP                  '       g   K  VP                  P                  R 4      '       d   K:  VP                  \	        WP                  4      bK\  	  ppV P
                  P                  P                  P                  V4      P                  4        UUu/ uF  w  rV\        V4      VbK  	  pppV P                  P                  P                  WrR7       R# u upi u uppi )Ú_token)ÚprefixN)r   r5  rü   Úendswithrœ   rø  Ú	utilitiesÚproxy_objectÚflatten_dictionaryr[  r}   rù  Ú
_argumentsÚcopy_from_dict)rz  Útraining_argsrC  ÚfieldÚas_dictrb  rc  Ú	flat_dicts   &&&     r%   r  Ú.ClearMLCallback._copy_training_args_as_hparams!  sÊ   € ô   Ô.ó
á.�Ø�z�zô ;à"'§*¡*×"5Ñ"5°h×"?ô ;ˆE�J‰Jœ ¯z©zÓ:Ò:Ù.ð 	ð 
ð
 ,0¯=©=×+BÑ+B×+OÑ+O×+bÑ+bÐcjÓ+k×+qÑ+qÔ+sÔtÑ+s¡4 1”S˜“V˜Q’YÑ+sˆ	ÑtØ×Ñ×%Ñ%×4Ñ4°YÐ4ÖNùò
ùó
 us   ŽC2§C2Á
$C2Â0C7)rú  rø  rù  rÊ  rË  rG  )NNN)r  rŸ  r   r¡  r¢  r  r  r  r  r  r  r  r
  r  r  r  r{  r  rŒ  r�  r˜  rA  r  r£  r¤  r¥  s   @r%   ró  ró  0  s‚   ø‡ € ñ
ð €Jà%ÐØ1ÐØ ?ÐØ%IÐ"Ø GÐð	9ð #ð ÐØÐØ %ÐØ!%Ðò%òaôFGò3ô
3òjF÷<Oð Or'   ró  c                   óR   a a€ ] tR tRt oRtRV3R lV 3R llltR tR tRtVt	V ;t
# )	ÚFlyteCallbacki+  a  A [`TrainerCallback`] that sends the logs to [Flyte](https://flyte.org/).
NOTE: This callback only works within a Flyte task.

Args:
    save_log_history (`bool`, *optional*, defaults to `True`):
        When set to True, the training logs are saved as a Flyte Deck.

    sync_checkpoints (`bool`, *optional*, defaults to `True`):
        When set to True, checkpoints are synced with Flyte and can be used to resume training in the case of an
        interruption.

Example:

```python
# Note: This example skips over some setup steps for brevity.
from flytekit import current_context, task


@task
def train_hf_transformer():
    cp = current_context().checkpoint
    trainer = Trainer(..., callbacks=[FlyteCallback()])
    output = trainer.train(resume_from_checkpoint=cp.restore())
```
c                ó&   <€ V ^8„  d   QhRS[ RS[ /# )rw   Úsave_log_historyÚsync_checkpointsr¶  )r~   r¦  s   "€r%   r   ÚFlyteCallback.__annotate__F  s   ø€ ÷ 1ñ 1©ð 1Éñ 1r'   c                ó  <€ \         SV `  4        \        4       '       g   \        R 4      h\	        4       '       d   \        4       '       g   \        P                  R4       Rp^ RIH	p V! 4       P                  V n        Wn        W n        R# )zLFlyteCallback requires flytekit to be installed. Run `pip install flytekit`.zªSyncing log history requires both flytekitplugins-deck-standard and pandas to be installed. Run `pip install flytekitplugins-deck-standard pandas` to enable this feature.F)Úcurrent_contextN)r;  r{  r^   rA  r`   r   r4   r5   r]   rV  r¤   ÚcprR  rS  )rz  rR  rS  rV  rs   s   &&& €r%   r{  ÚFlyteCallback.__init__F  sn   ø€ Ü‰ÑÔÜ$×&Ò&ÜÐlÓmÐmä/×1Ò1Ô9L×9NÒ9NÜ�N‰Nðaôð  %Ðå,á!Ó#×.Ñ.ˆŒØ 0ÔØ 0Ör'   c                ó0  € V P                   '       d„   VP                  '       dp   R VP                   2p\        P                  P                  VP                  V4      p\        P                  RV R24       V P                  P                  V4       R# R# R# )r6  zSyncing checkpoint in z to Flyte. This may take time.N)rS  r…  r”  rN   r�   r�   r‡  r4   r  rW  rN  r1  s   &&&&,  r%   rA  ÚFlyteCallback.on_saveX  st   € Ø× × Ð  U×%@×%@Ð%@Ø$ U×%6Ñ%6Ð$7Ð8ˆHÜŸG™GŸL™L¨¯©¸(ÓCˆMä�K‰KÐ0°°
Ð:XÐYÔZØ�G‰G�L‰L˜Ö'ñ &AÑ r'   c                ó¾   € V P                   '       dK   ^ RIp^ RIHp ^ RIHp VP                  VP                  4      pV! RV! 4       P                  V4      4       R# R# )rl   N)ÚDeck)ÚTableRendererzLog History)	rR  Úpandasr]   r\  Úflytekitplugins.deck.rendererr]  Ú	DataFrameÚlog_historyÚto_html)	rz  r‘   r6  rŠ  r½   Úpdr\  r]  Úlog_history_dfs	   &&&&,    r%   r�  ÚFlyteCallback.on_train_end`  sG   € Ø× × Ð ÛÝ%ÝCàŸ\™\¨%×*;Ñ*;Ó<ˆNÙ�¡£× 7Ñ 7¸Ó GÖHñ !r'   )rW  rR  rS  )TT)r  rŸ  r   r¡  r¢  r{  rA  r�  r£  r¤  rR  rS  s   @@r%   rP  rP  +  s%   ù‡ € ñ÷41õ 1ò$(÷Iò Ir'   rP  c                   ó`   a € ] tR tRt o RtRV 3R lR lltR tRR ltRR ltR	 t	R
 t
RtV tR# )ÚDVCLiveCallbackij  a+  
A [`TrainerCallback`] that sends the logs to [DVCLive](https://www.dvc.org/doc/dvclive).

Use the environment variables below in `setup` to configure the integration. To customize this callback beyond
those environment variables, see [here](https://dvc.org/doc/dvclive/ml-frameworks/huggingface).

Args:
    live (`dvclive.Live`, *optional*, defaults to `None`):
        Optional Live instance. If None, a new instance will be created using **kwargs.
    log_model (Union[Literal["all"], bool], *optional*, defaults to `None`):
        Whether to use `dvclive.Live.log_artifact()` to log checkpoints created by [`Trainer`]. If set to `True`,
        the final checkpoint is logged at the end of training. If set to `"all"`, the entire
        [`TrainingArguments`]'s `output_dir` is logged at each checkpoint.
Nc                ó`   <€ V ^8„  d   QhRS[ R,          RS[R,          S[,          R,          /# )rw   ÚliveNr/  rë  )r   r   r·  )r~   r¦  s   "€r%   r   ÚDVCLiveCallback.__annotate__z  s1   ø€ ÷ (ñ (á�D�jð(ñ ˜5•>¡DÕ(¨4Õ/ñ(r'   c                ó¨  € \        4       '       g   \        R 4      h^ RIHp RV n        RV n        \        W4      '       d   Wn        MVe   \        RVP                   R24      hW n        V P                  fZ   \        P                  ! RR4      pVP                  4       \        9   d
   RV n        R# VP                  4       R	8X  d
   R	V n        R# R# R# )
zLDVCLiveCallback requires dvclive to be installed. Run `pip install dvclive`.©ÚLiveFNzFound class z  for live, expected dvclive.LiveÚHF_DVCLIVE_LOG_MODELrK   Trë  )rc   rr   rb   rm  rÊ  ri  rm   rs   rË  rN   rO   rP   r   rR  )rz  ri  r/  r½   rm  Úlog_model_envs   &&&,  r%   r{  ÚDVCLiveCallback.__init__z  s¶   € ô $×%Ò%ÜÐmÓnÐnÝ à!ˆÔØˆŒ	Ü�d×!Ò!Ø�IØÒÜ ¨d¯n©nÐ-=Ð=]Ð^Ó_Ð_à#ŒØ�?‰?Ò"ÜŸIšIÐ&<¸gÓFˆMØ×"Ñ"Ó$Ô(<Ô<Ø"&�–Ø×$Ñ$Ó&¨%Ô/Ø"'�–ñ 0ñ	 #r'   c                óÖ   € ^ RI Hp RV n        VP                  '       dJ   V P                  '       g   V! 4       V n        V P                  P                  VP                  4       4       R# R# )a   
Setup the optional DVCLive integration. To customize this callback beyond the environment variables below, see
[here](https://dvc.org/doc/dvclive/ml-frameworks/huggingface).

Environment:
- **HF_DVCLIVE_LOG_MODEL** (`str`, *optional*):
    Whether to use `dvclive.Live.log_artifact()` to log checkpoints created by [`Trainer`]. If set to `True` or
    *1*, the final checkpoint is logged at the end of training. If set to `all`, the entire
    [`TrainingArguments`]'s `output_dir` is logged at each checkpoint.
rl  TN)rb   rm  rÊ  r…  ri  r  rï  )rz  r‘   r6  r    rm  s   &&&& r%   r  ÚDVCLiveCallback.setup“  sJ   € õ 	!à ˆÔØ×&×&Ð&Ø—9—9�9Ù ›F�”	Ø�I‰I× Ñ  §¡£Ö0ñ 'r'   c                óR   € V P                   '       g   V P                  WV4       R # R # rV   r•  r–  s   &&&&&,r%   rŒ  ÚDVCLiveCallback.on_train_begin¦  rÍ  r'   c           
     ó¼  € V P                   '       g   V P                  WV4       VP                  '       d¦   ^ RIHp ^ RIHp VP                  4        Fi  w  ršVP                  V
4      '       d&   V P                  P                  V! V	R4      V
4       KA  \        P                  RV
 R\        V
4       RV	 R24       Kk  	  V P                  P                  4        R# R# )	rl   )ÚMetric)Ústandardize_metric_namezdvclive.huggingfacer�  r�  r‘  zh" as a scalar. This invocation of DVCLive's Live.log_metric() is incorrect so we dropped this attribute.N)rÊ  r  r…  Údvclive.plotsrv  Údvclive.utilsrw  r[  Ú	could_logri  Ú
log_metricr4   r5   r  Ú	next_step)rz  r‘   r6  rŠ  r    r—  r½   rv  rw  Úkeyr¹   s   &&&&&&,    r%   r˜  ÚDVCLiveCallback.on_logª  s¹   € Ø× × Ð Ø�J‰J�t EÔ*Ø×&×&Ð&Ý,Ý=à"Ÿj™jžl‘
�Ø×#Ñ# E×*Ò*Ø—I‘I×(Ñ(Ñ)@ÀÐF[Ó)\Ð^cÖdä—N‘NðØ!˜7 *¬T°%«[¨M¸ÀCÀ5ð IEðEöñ	 +ð �I‰I×ÑÖ!ñ 'r'   c                óÆ   € V P                   R 8X  dP   V P                  '       d<   VP                  '       d(   V P                  P	                  VP
                  4       R# R# R# R# )rë  N)rË  rÊ  r…  ri  rü  r‡  rœ  s   &&&&,r%   rA  ÚDVCLiveCallback.on_save½  sF   € Ø�?‰?˜eÔ#¨×(9×(9Ð(9¸e×>Y×>YÐ>YØ�I‰I×"Ñ" 4§?¡?Ö3ñ ?ZÑ(9Ñ#r'   c                óê  € V P                   '       dá   VP                  '       dÍ   ^ RIHp V P                  RJ d›   V! VVP                  R4      VP                  R4      R.R7      pVP                  '       d   RMRp\        P                  P                  VP                  V4      pVP                  V4       V P                  P                  W‡RRR	7       V P                  P                  4        R
# R
# R
# )rl   r  Tr    r  r  r  r¿   r  )rü   r  r  N)rÊ  r…  Útransformers.trainerr  rË  r  r   rN   r�   r�   r‡  r  ri  rü  r³  )	rz  r‘   r6  rŠ  r½   r  r(  rü   r‡  s	   &&&&,    r%   r�  ÚDVCLiveCallback.on_train_endÁ  s¼   € Ø××Ð ×!<×!<Ð!<Ý4à�‰ $Ó&Ù&ØØ Ÿ*™* WÓ-Ø%+§Z¡ZÐ0BÓ%CØ"( ô	 �ð "&×!<×!<Ð!<‘vÀ&�ÜŸW™WŸ\™\¨$¯/©/¸4Ó@�
Ø×'Ñ'¨
Ô3Ø—	‘	×&Ñ& zÀ7ÐQUÐ&ÔVØ�I‰I�M‰MŽOñ "=Ñr'   )rÊ  rË  ri  rG  rV   )r  rŸ  r   r¡  r¢  r{  r  rŒ  r˜  rA  r�  r£  r¤  r¥  s   @r%   rg  rg  j  s2   ø‡ € ñ÷(ò (ò21ô&+ô"ò&4÷ð r'   rg  c                   óZ   a € ] tR tRt o RtR tR tRR ltRR ltRR lt	R	 t
R
 tRtV tR# )ÚSwanLabCallbackiÓ  zf
A [`TrainerCallback`] that logs metrics, media, model checkpoints to [SwanLab](https://swanlab.cn/).
c                ó–   € \        4       '       g   \        R 4      h^ RIpWn        RV n        \
        P                  ! RR4      V n        R# )zLSwanLabCallback requires swanlab to be installed. Run `pip install swanlab`.NFÚSWANLAB_LOG_MODEL)rf   rr   re   Ú_swanlabrÊ  rN   rO   rË  )rz  re   s   & r%   r{  ÚSwanLabCallback.__init__Ø  s:   € Ü#×%Ò%ÜÐmÓnÐnÛàŒØ!ˆÔÜŸ)š)Ð$7¸Ó>ˆŽr'   c                ó,  € RV n         VP                  '       EdT   \        P                  R4       / VP	                  4       Cp\        VR4      '       d[   VP                  eM   \        VP                  \        4      '       d   VP                  MVP                  P	                  4       p/ VCVCp\        VR4      '       d!   VP                  e   VP                  pRV/VCpVP                  p/ p	Ve$   VP                  e   VP                   RV 2V	R&   M&VP                  e   VP                  V	R&   MVe   W‰R&   \        P                  ! RR4      V	R	&   \        P                  ! R
R4      p
V
e   W©R&   \        P                  ! RR4      pVe   W¹R&   MVP                  '       d   RV	R&   V P                  P!                  4       f   V P                  P"                  ! R/ V	B  RV P                  P                  R&   V P                  P                  P%                  V4        V P                  P                  P%                  RVP'                  4       /4       \)        V4      P*                  R8X  g   \)        V4      P*                  R8X  da   VP-                  4       w  rÍV P                  P                  P%                  RV/4       V P                  P                  P%                  RV/4       T P0                  et   \        P3                  R4       RT P                  P!                  4       P4                  P6                  P8                   R2p\:        ;P<                  RT 2,          un        R# R# R#   \.         d    \        P                  R4        L§i ; i)a
  
Setup the optional SwanLab (*swanlab*) integration.

One can subclass and override this method to customize the setup if needed. Find more information
[here](https://docs.swanlab.cn/guide_cloud/integration/integration-huggingface-transformers.html).

You can also override the following environment variables. Find more information about environment
variables [here](https://docs.swanlab.cn/en/api/environment-variable.html#environment-variables)

Environment:
- **SWANLAB_API_KEY** (`str`, *optional*, defaults to `None`):
    Cloud API Key. During login, this environment variable is checked first. If it doesn't exist, the system
    checks if the user is already logged in. If not, the login process is initiated.

        - If a string is passed to the login interface, this environment variable is ignored.
        - If the user is already logged in, this environment variable takes precedence over locally stored
        login information.

- **SWANLAB_PROJECT** (`str`, *optional*, defaults to `None`):
    Set this to a custom string to store results in a different project. If not specified, the name of the current
    running directory is used.

- **SWANLAB_LOG_DIR** (`str`, *optional*, defaults to `swanlog`):
    This environment variable specifies the storage path for log files when running in local mode.
    By default, logs are saved in a folder named swanlog under the working directory.

- **SWANLAB_MODE** (`Literal["local", "cloud", "disabled"]`, *optional*, defaults to `cloud`):
    SwanLab's parsing mode, which involves callbacks registered by the operator. Currently, there are three modes:
    local, cloud, and disabled. Note: Case-sensitive. Find more information
    [here](https://docs.swanlab.cn/en/api/py-init.html#swanlab-init)

- **SWANLAB_LOG_MODEL** (`str`, *optional*, defaults to `None`):
    SwanLab does not currently support the save mode functionality.This feature will be available in a future
    release

- **SWANLAB_WEB_HOST** (`str`, *optional*, defaults to `None`):
    Web address for the SwanLab cloud environment for private version (its free)

- **SWANLAB_API_HOST** (`str`, *optional*, defaults to `None`):
    API address for the SwanLab cloud environment for private version (its free)

- **SWANLAB_RUN_ID** (`str`, *optional*, defaults to `None`):
    Experiment ID to resume a previous run. Use with `SWANLAB_RESUME` to continue an existing experiment.

- **SWANLAB_RESUME** (`str`, *optional*, defaults to `None`):
    Resume mode (`"must"`, `"allow"`, `"never"`). Defaults to `"allow"` when `resume_from_checkpoint` is used.

TzYAutomatic SwanLab logging enabled, to disable set os.environ["SWANLAB_MODE"] = "disabled"r  NrÐ  rO  Úexperiment_nameÚSWANLAB_PROJECTr-  ÚSWANLAB_RUN_IDr;  ÚSWANLAB_RESUMErf  rd  u   ðŸ¤—transformersÚ	FRAMEWORKÚmodel_num_parametersÚ	PeftModelÚPeftMixedModelÚpeft_model_trainable_paramsÚpeft_model_all_paramzQCould not log the number of model parameters in SwanLab due to an AttributeError.úsSwanLab does not currently support the save mode functionality. This feature will be available in a future release.z…[<img src="https://raw.githubusercontent.com/SwanHubX/assets/main/badge1.svg" alt="Visualize in SwanLab" height="280" height="32"/>](ré  rê  r+   )rÊ  r…  r4   r  rï  r$   r  rm   rq   rÐ  r7  rð  rN   rO   r‹   rˆ  rÜ  r5  rÔ   râ  r  r  Úget_nb_trainable_parametersrö  rË  r5   ÚpublicÚcloudÚexperiment_urlr   rþ  )rz  r‘   r6  r    r½   r   r„  rÐ  r7  r  r*  rf  Útrainable_paramsÚ	all_paramr  s   &&&&,          r%   r  ÚSwanLabCallback.setupá  s  € ðb !ˆÔà×&×&Ñ&Ü�K‰KÐsÔtØ.˜tŸ|™|›~Ð.ˆMä�u˜h×'Ò'¨E¯L©LÒ,DÜ/9¸%¿,¹,Ì×/MÒ/M˜uŸ|š|ÐSX×S_ÑS_×SgÑSgÓSi�Ø A <Ð A°=Ð A�Ü�u˜m×,Ò,°×1BÑ1BÒ1NØ#×/Ñ/�Ø!.°Ð M¸}Ð M�Ø×)Ñ)ˆJØˆIØÒ%¨$¯-©-Ò*CØ26·-±-°ÀÀ*ÀÐ/N�	Ð+Ò,Ø—‘Ò*Ø/3¯}©}�	Ð+Ò,ØÒ'Ø/9Ð+Ñ,Ü#%§9¢9Ð->ÀÓ#EˆI�iÑ ä—Y’YÐ/°Ó6ˆFØÒ!Ø"(˜$‘ä—Y’YÐ/°Ó6ˆFØÒ!Ø&,˜(Ò#Ø×,×,Ð,Ø&-�	˜(Ñ#à�}‰}×$Ñ$Ó&Ò.Ø—‘×"Ò"ñ Øòð 1CˆD�M‰M× Ñ  Ñ-à�M‰M× Ñ ×'Ñ'¨Ô6ðqØ—‘×$Ñ$×+Ñ+Ð-CÀU×EYÑEYÓE[Ð,\Ô]ä˜“;×'Ñ'¨;Ô6¼$¸u»+×:NÑ:NÐRbÔ:bØ27×2SÑ2SÓ2UÑ/Ð$Ø—M‘M×(Ñ(×/Ñ/Ð1NÐP`Ð0aÔbØ—M‘M×(Ñ(×/Ñ/Ð1GÈÐ0SÔTð
 �‰Ò*Ü—‘ðJôð
)à)-¯©×)>Ñ)>Ó)@×)GÑ)G×)MÑ)M×)\Ñ)\Ð(]Ð]^ð`ð ô ×7Ò7¸RÀÐ?OÐ;PÕP×7ñ +ñg 'øô^ "ô qÜ—‘ÐoÖpðqús   È"C	M0 Í0 NÎNNc                óV   € V P                   '       g   V P                  ! WV3/ VB  R # R # rV   r•  r–  s   &&&&&,r%   rŒ  ÚSwanLabCallback.on_train_beginT	  r˜  r'   c                ó    € V P                   e@   V P                  '       d,   VP                  '       d   \        P	                  R4       R # R # R # R # ©Nr•  ©rË  rÊ  r…  r4   r5   r&  s   &&&&&&,r%   r�  ÚSwanLabCallback.on_train_endX	  óA   € Ø�?‰?Ò&¨4×+<×+<Ð+<À×A\×A\ÐA\Ü�N‰NðFöñ B]Ñ+<Ñ&r'   c                óþ  € . ROpV P                   '       g   V P                  WV4       VP                  '       d½   VP                  4        F9  w  r‰W‡9   g   K  V P                  P                  RV 2V	/VP                  R7       K;  	  VP                  4        UU	u/ uF  w  r‰W‡9  g   K  W‰bK  	  p
pp	\        V
4      p
V P                  P                  / V
CRVP                  /CVP                  R7       R# R# u up	pi )r,  zsingle_value/rà  rØ  Nr-  )rÊ  r  r…  r[  rˆ  rÜ  r”  r9  r1  s   &&&&&&,    r%   r˜  ÚSwanLabCallback.on_log_	  sá   € ò 
Ðð × × Ð Ø�J‰J�t EÔ*Ø×&×&Ð&ØŸ
™
ž‘�ØÖ,Ø—M‘M×%Ñ%¨°q°cÐ':¸AÐ&>ÀU×EVÑEVÐ%ÖWñ %ð 15·
±
´Ô^±©¨ÀÑ@]œt˜qšt±ˆOÑ^Ü*¨?Ó;ˆOØ�M‰M×ÑÐY ÐYÐ2EÀu×GXÑGXÑYÐ`e×`qÑ`qÐÖrñ 'ùó _s   Â
C9Â*C9c                ó    € V P                   e@   V P                  '       d,   VP                  '       d   \        P	                  R4       R # R # R # R # r   r¡  rœ  s   &&&&,r%   rA  ÚSwanLabCallback.on_saver	  r£  r'   c                óÄ   € V P                   '       g   V P                  ! W3/ VB  VP                  '       d)   \        V4      pV P                  P                  V4       R # R # rV   )rÊ  r  r…  r9  rˆ  rÜ  rD  s   &&&&&,r%   rE  ÚSwanLabCallback.on_predicty	  sL   € Ø× × Ð Ø�JŠJ�tÑ- fÒ-Ø×&×&Ð&Ü" 7Ó+ˆGØ�M‰M×Ñ˜gÖ&ñ 'r'   )rÊ  rË  rˆ  rV   rG  rH  r¥  s   @r%   r…  r…  Ó  s6   ø‡ € ñò?òqQôf5ôôsò&÷'ð 'r'   r…  c                   óp   a € ] tR tRt o RtRtRtRtRtRt	R t
R	 tR
 tRR ltR tRR ltR tR tRtV tR# )ÚKubeflowCallbacki�	  ag  
A [`TrainerCallback`] that reports training progress to [Kubeflow Trainer](https://github.com/kubeflow/trainer).

This callback is automatically registered when training inside a Kubeflow TrainJob with the
`TrainJobRuntimeStatus` feature gate enabled. The Kubeflow controller injects the required
environment variables into the training pod.

**Environment Variables (injected by controller):**

- `KUBEFLOW_TRAINER_SERVER_URL`: HTTPS endpoint for status updates
- `KUBEFLOW_TRAINER_SERVER_CA_CERT`: Path to CA certificate for TLS verification
- `KUBEFLOW_TRAINER_SERVER_TOKEN`: Path to service account token for authentication

**Reported Information:**

- Progress percentage (0-100%)
- Estimated time remaining (seconds)
- Training metrics (loss, learning_rate, etc.)

**Features:**

- Automatic throttling (max 1 update per 5 seconds) to avoid overwhelming the controller
- Token caching (5 minutes) to minimize file I/O
- Only rank 0 reports progress in distributed training
- Silent failures - network issues won't interrupt training

Can be disabled by setting environment variable `DISABLE_KUBEFLOW_INTEGRATION=TRUE`.
g      @g     Àr@ri   ÚKUBEFLOW_TRAINER_SERVER_CA_CERTÚKUBEFLOW_TRAINER_SERVER_TOKENc                óÖ   € \        4       '       g   \        R 4      hRV n        / V n        RV n        RV n        RV n        RV n        RV n        RV n	        \        P                  R4       R# )z»KubeflowCallback requires KUBEFLOW_TRAINER_SERVER_URL environment variable to be set. This is automatically set when running inside a Kubeflow TrainJob with TrainJobRuntimeStatus enabled.FNg        z[Kubeflow] Callback initialized)rj   rr   rÊ  Ú_metricsÚ_start_timeÚ_last_update_timeÚ_cached_tokenÚ_token_read_timeÚ_ssl_contextÚ_ssl_context_initializedr4   r  r¼  s   &r%   r{  ÚKubeflowCallback.__init__¥	  sl   € Ü$×&Ò&Üðxóð ð
 "ˆÔØˆŒØˆÔØ!$ˆÔØ!ˆÔØ #ˆÔØ ˆÔØ(-ˆÔ%ä�‰Ð6Ö7r'   c                ór  € ^ RI pV P                  '       d   V P                  # \        P                  P                  V P                  4      pV'       d    VP                  VR7      V n        RV n        V P                  #   \         d-   p\        P                  RT RT 24       RT n         Rp?LERp?ii ; i)z,Get cached SSL context for TLS verification.N)Úcafilez5[Kubeflow] Failed to create SSL context with CA file z: T)Ússlrµ  r´  rN   Úenvironr  Ú_ENV_CA_CERTÚcreate_default_contextr›  r4   r5   )rz  r¹  Úca_filerœ  s   &   r%   Ú_get_ssl_contextÚ!KubeflowCallback._get_ssl_context·	  s¥   € ãà×(×(Ð(Ø×$Ñ$Ð$ä—*‘*—.‘. ×!2Ñ!2Ó3ˆßð)Ø$'×$>Ñ$>ÀgÐ$>Ó$N�Ô!ð )-ˆÔ%Ø× Ñ Ð øô	 ô )Ü—‘Ð!VÐW^ÐV_Ð_aÐbcÐadÐeÔfØ$(�×!Ñ!ûð)ús   ÁA? Á?B6Â
"B1Â1B6c                óº  € ^ RI pVP                  4       pV P                  '       d.   W P                  ,
          V P                  8  d   V P                  # \
        P                  P                  V P                  4      pV'       d&   \
        P                  P                  V4      '       g   \        P                  RV 24       R#  \        V4      ;_uu_ 4       pVP                  4       P                  4       V n        W n        V P                  uuRRR4       #   + '       g   i     R# ; i  \          d$   p\        P                  RT 24        Rp?R# Rp?ii ; i)z!Get cached service account token.Nz![Kubeflow] Token file not found: z&[Kubeflow] Failed to read token file: )ÚtimeÚ	monotonicr²  r³  Ú_TOKEN_CACHE_DURATIONrN   rº  r  Ú_ENV_TOKEN_PATHr�   Úexistsr4   r  r«  ÚreadrQ  rº  )rz  rÁ  rl  Ú
token_pathr¯  rœ  s   &     r%   Ú
_get_tokenÚKubeflowCallback._get_tokenÈ	  sð   € ãà�n‰nÓˆØ××Ð 3×)>Ñ)>Õ#>À$×B\ÑB\Ô"\Ø×%Ñ%Ð%ä—Z‘Z—^‘^ D×$8Ñ$8Ó9ˆ
ß¤§¡§¡°
×!;Ò!;Ü�L‰LÐ<¸Z¸LÐIÔJÙð	Ü�j×!Ô! QØ%&§V¡V£X§^¡^Ó%5�Ô"Ø(+Ô%Ø×)Ñ)÷ "×!×!Ó!ûô ô 	Ü�L‰LÐAÀ!ÀÐEÔFÝûð	ús6   ÃD, Ã5DÄ
D, ÄD)	Ä#D, Ä)D, Ä,EÄ7EÅENc           
     ób  € ^ RI p^ RIp^ RIp^ RIHpHp	  \
        P                  P                  V P                  4      p
V
'       g   R# VP                  4       pV'       g$   W°P                  ,
          V P                  8  d   R# W°n
        V P                  4       pV'       g   R# RVP                  V	P                  4      P                  4       /pVe   \!        ^ \#        ^dV4      4      VR&   Ve   \!        ^ \%        V4      4      VR&   V'       d>   VP'                  4        UUu. uF  w  rïR\)        V4      R\)        V4      /NK  	  uppVR	&   VP*                  ! R
V/4      P-                  R4      pRRV 2RR/pVP.                  P1                  V
VVRR7      pVP.                  P3                  V^V P5                  4       R7      ;_uu_ 4       pVP6                  ^È8H  uuRRR4       # u uppi   + '       g   i     R# ; i  \8         d$   p\:        P=                  RT 24        Rp?R# Rp?ii ; i)z4Send progress update to Kubeflow Trainer controller.N)rh  ÚtimezoneFÚlastUpdatedTimeÚprogressPercentageÚestimatedRemainingSecondsrü   r¹   r¨   ÚtrainerStatuszutf-8ÚAuthorizationzBearer zContent-Typezapplication/jsonÚPOST)ÚdataÚheadersÚmethod)r¬   Úcontextz$[Kubeflow] Failed to update status: )r  rÁ  Úurllib.requestrh  rË  rN   rº  r  Ú_ENV_SERVER_URLrÂ  r±  Ú_MIN_UPDATE_INTERVALrÈ  rl  ÚutcÚ	isoformatró  Úminr|   r[  r}   ÚdumpsÚencodeÚrequestÚRequestÚurlopenr¾  Ústatusr›  r4   r  )rz  Úprogress_percentÚestimated_time_remainingr¨   r§  r  rÁ  Úurllibrh  rË  rý  rl  ÚtokenÚtrainer_statusrb  rc  rÒ  rÓ  ÚreqÚresprœ  s   &&&&&                r%   Ú_update_statusÚKubeflowCallback._update_statusÞ	  sÓ  € ãÛÛß/ð!	Ü—*‘*—.‘. ×!5Ñ!5Ó6ˆCßÙà—.‘.Ó"ˆCß˜c×$:Ñ$:Õ:¸d×>WÑ>WÔWÙØ%(Ô"à—O‘OÓ%ˆEßÙà/°·±¸h¿l¹lÓ1K×1UÑ1UÓ1WÐXˆNàÒ+Ü7:¸1¼cÀ#ÐGWÓ>XÓ7Y�Ð3Ñ4à'Ò3Ü>AÀ!ÄSÐIaÓEbÓ>c�Ð:Ñ;çØ[b×[hÑ[hÔ[jÔ,kÑ[jÑSWÐST¨f´c¸!³f¸gÄsÈ1ÃvÓ-NÑ[jÒ,k�˜yÑ)à—:’:˜°Ð?Ó@×GÑGÈÓPˆDØ&¨'°%°Ð(9¸>ÐK]Ð^ˆGà—.‘.×(Ñ(¨°4ÀÐQWÐ(ÓXˆCØ—‘×'Ñ'¨°QÀ×@UÑ@UÓ@WÐ'×XÔXÐ\`Ø—{‘{ cÑ)÷ YÒXùó -l÷ Y×XÐXûäô 	Ü�L‰LÐ?À¸sÐCÔDÝûð	úsg   –0H  Á	H  Á!!H  ÂH  Â$A+H  ÄH  Ä##G&ÅBH  ÇG,Ç
H  Ç&H  Ç,G=	Ç7H  Ç=H  È H.ÈH)È)H.c                ó(  € VP                   '       g   R # ^ R IpVP                  4       V n        / V n        RV n        \
        P                  RVP                   24       T P                  ^ VP                  '       d   RVP                  /MR RR7       R # )NTz'[Kubeflow] Training started, max_steps=Útotal_steps)râ  r¨   r§  )	r…  rÁ  r°  r¯  rÊ  r4   r  Ú	max_stepsré  )rz  r‘   r6  rŠ  r½   rÁ  s   &&&&, r%   rŒ  ÚKubeflowCallback.on_train_begin
  sy   € Ø×*×*Ð*ÙãàŸ9™9›;ˆÔØˆŒØ ˆÔä�‰Ð>¸u¿¹Ð>OÐPÔQØ×ÑØØ8=¿¿¸�] E§O¡OÑ4ÈTØð 	ö 	
r'   c                óä   € V P                   '       d   VP                  '       d   Vf   R # VP                  4        F1  w  rg\        V\        \
        34      '       g   K#  WpP                  V&   K3  	  R # rV   )rÊ  r…  r[  rm   r|   r’  r¯  )rz  r‘   r6  rŠ  r—  r½   r}  r¹   s   &&&&&,  r%   r˜  ÚKubeflowCallback.on_log
  sO   € Ø× × Ð ¨×(C×(CÐ(CÀtÂ|ÙàŸ*™*ž,‰JˆCÜ˜%¤#¤u ×.Ô.Ø%*—‘˜cÓ"ó 'r'   c                óè  € V P                   '       d   VP                  '       g   R # VP                  '       d   VP                  ^ 8:  d   R # ^ R Ip\	        VP
                  VP                  ,          ^d,          4      p\        V^c4      pR pV P                  '       ds   VP
                  ^ 8”  db   VP                  4       V P                  ,
          pW‚P
                  ,          p	VP                  VP
                  ,
          p
\	        Wš,          4      p/ V P                  CRVP
                  RVP                  /CpVP                  e   \        VP                  ^4      VR&   V P                  VVVR7       R # )NÚcurrent_steprì  Úcurrent_epoch)râ  rã  r¨   )rÊ  r…  rí  rÁ  r|   r”  rÛ  r°  r¯  r<  r;  ré  )rz  r‘   r6  rŠ  r½   rÁ  ÚprogressÚeta_secondsÚelapsedÚavg_time_per_stepÚremaining_stepsr¨   s   &&&&,       r%   Úon_step_endÚKubeflowCallback.on_step_end!
  s.  € Ø× × Ð ¨×(C×(CÐ(CÙà��ˆ %§/¡/°QÔ"6Ùãä˜×)Ñ)¨E¯O©OÕ;¸sÕBÓCˆä�x Ó$ˆàˆØ××Ð × 1Ñ 1°AÔ 5Ø—i‘i“k D×$4Ñ$4Õ4ˆGØ '×*;Ñ*;Õ ;ÐØ#Ÿo™o°×0AÑ0AÕAˆOÜÐ/ÕAÓBˆKð
Ø�m‰mð
à˜E×-Ñ-Ø˜5Ÿ?™?ñ
ˆð
 �;‰;Ò"Ü',¨U¯[©[¸!Ó'<ˆG�OÑ$à×ÑØ%Ø%0Øð 	ö 	
r'   c                óº   € V P                   '       d   VP                  '       g   R # \        P                  R4       V P	                  ^d^ V P
                  RR7       R # )Nz[Kubeflow] Training completedT)râ  rã  r¨   r§  )rÊ  r…  r4   r  ré  r¯  rœ  s   &&&&,r%   r�  ÚKubeflowCallback.on_train_endC
  sL   € Ø× × Ð ¨×(C×(CÐ(CÙä�‰Ð4Ô5Ø×ÑØ Ø%&Ø—M‘MØð	 	ö 	
r'   )r²  rÊ  r±  r¯  r´  rµ  r°  r³  )NNNFrV   )r  rŸ  r   r¡  r¢  rØ  rÃ  r×  r»  rÄ  r{  r¾  rÈ  ré  rŒ  r˜  rù  r�  r£  r¤  r¥  s   @r%   r«  r«  �	  sV   ø‡ € ñð: ÐØ!ÐØ3€OØ4€LØ5€Oò8ò$!ò"ô,(òT
ô"+ò 
÷D

ð 

r'   r«  rQ  rM   r;   r)   r   rZ   r/   rS   Úflyterb   re   rR  c           	      óF  € V f   . # \        V \        4      '       d   V R8X  d   . # V R8X  d   \        4       p MV .p V  F@  pV\        9  g   K  \	        V RRP                  \        P                  4       4       R24      h	  V  Uu. uF  p\        V,          NK  	  up# u upi )NÚnonerë  z is not supported, only z, z are supported.)rm   r}   rU  ÚINTEGRATION_TO_CALLBACKri  r�   r:  )rE  Úintegrations   & r%   Ú#get_reporting_integration_callbacksr  b
  s©   € ØÒØˆ	ä�)œS×!Ò!Ø˜ÔØˆIØ˜%ÔÜ<Ó>‰Ià"˜ˆIã ˆØÔ5Ö5ÜØ�-Ð7¸¿	¹	ÔBY×B^ÑB^ÓB`Ó8aÐ7bÐbqÐróð ñ !ñ ENÓNÁI°[Ô# K×0Ð0ÁIÑNÐNùÒNs   ÂB)~r¢  r  r  Úimportlib.metadatar!   Úimportlib.utilr  r"  rN   rT  rW  r¸  rú   rÕ   rf  Údataclassesr   Úenumr   Úpathlibr   Útypingr   r   r   ÚnumpyrÓ  Úpackaging.versionrñ   rO   r¬  rä   r
   r   r   rò   rð  r   r   r   r   r   r   r0  r  r4   r˜   r7   rô   r6   r2   ró   r3   r   r  Ú
get_configr8   ÚPackageNotFoundErrorrA  ri  rÁ  rö  ÚKeyErrorr"   r#   rW   Ú_neptune_versionr  r   Útrainer_callbackr   r   r  r   r   r   rJ  r   r   r   r&   r,   r0   r9   r=   r@   rC   rE   rH   rQ   rT   rX   r[   r^   r`   rc   rf   rj   rt   rÁ   r'  rO  rU  r9  rp  r  r°  r}   r²  rD  rJ  r®  rß  rî  r8  r›  rU  rY  rä  ró  rP  rg  r…  r«  r   r  r+   r'   r%   Ú<module>r     s%  ðñó Û Û Û Û Û Û 	Û 	Û Û Û 
Û Û Ý Ý Ý ß .Ñ .ã Û ð ‡9‚9ˆ\Ó˜iÔ'Ù	Ð
0Ô1ç 1Ý %÷÷ ð 
×	Ò	˜HÓ	%€ñ ×ÒÛð Ð ð!Ø×'Ñ'×/Ñ/°
Ó;€NØÐà'×/Ñ/×5Ñ5°nÓEÈ×IZÑIZ×I`ÑI`ÐasÓItÑtÐó à‡�×!Ñ! /Ó2Ò>Ø#Ñà$Ñð ‡N�N×Ñ˜YÓ'¨tÐ3×mÐm°y·~±~×7OÑ7OÐP`Ó7aÐimÐ7mð ÷ —\ð!Ø$×-Ñ-×5Ñ5°iÓ@ÐØ�‰Ð&Ð'7Ð&8¸ÐDÔEõ ß @ß LÑ LÝ (ß @òò;ò;òò4wò:ò7ò<òDò:òaòò>ò<òHò;ò;ò@òDõ$>õBMõ`HkòVò>õ KôS"˜/ô S"õl!ô#�C˜ô #ô,m%�Oô m%ô`@/�oô @/ôF�Oô ôD>�oô >ô.r$�_ô r$ôj.I�nô .Iôb
 )ô 
ôWZ�oô WZôt ˜ô  ôDxO�oô xOôv<I�Oô <Iô~f�oô fôRk'�oô k'ô\L
�ô L
ð` �Ø�ØˆnØˆØÐ&ØˆØˆ]ØÐ$ØˆØˆØˆ]ØˆØˆØÐ ðÐ ô$OøðmP 	×Ñ×/Ñ/°¸jÈ)ÐUcÐemÐnô !Ø€NØÐØ#ÐØ Óð	!ûð ×Ñ×2Ñ2ô !ð	!Ø(×1Ñ1×9Ñ9Ð:JÓKÐØ�K‰KÐ1Ð2BÐ1CÀ;ÐO×PøØ×!Ñ!×6Ñ6ô 	!Ø ŒLð	!úð	!úsC   Â>A7L Ä6L Æ0M Ì)M Ì?M ÍN8Í0NÎN4Î/N8Î3N4Î4N8