+
     °³j9  ã                   ój  € ^ RI t ^ RIHt ^ RIHt ^ RIt^ RIt^ RIH	t	 ^RI
HtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHt ]! RR4      '       d   ^ RI H!t! M^ RI"H!t! ]! 4       '       d
   ^ RI#H$u H%t& ^R	I'H(t( ^R
I)H*t* ](! ]+4      t,RR R llt-RR R llt.RR R llt/RR R llt0R# )é    N)ÚPath)ÚOptional)Ú
load_model)Ú
MODEL_NAMEÚOPTIMIZER_NAMEÚRNG_STATE_NAMEÚSAFE_MODEL_NAMEÚSAFE_WEIGHTS_NAMEÚSAMPLER_NAMEÚSCALER_NAMEÚSCHEDULER_NAMEÚWEIGHTS_NAMEÚget_pretty_nameÚis_cuda_availableÚis_hpu_availableÚis_mlu_availableÚis_musa_availableÚis_neuron_availableÚis_sdaa_availableÚis_torch_versionÚis_torch_xla_availableÚis_xpu_availableÚloadÚsavez>=z2.4.0)Ú
GradScaler)Ú
get_logger)ÚPartialStatec                óÈ   € V ^8„  d   QhR\         R\        \        ,          R\        R\        R\        R\        R\        R\        \
        ,          R	\        R
\        R\        /# )é   Ú
output_dirÚmodel_statesÚ
optimizersÚ
schedulersÚdataloadersÚprocess_indexÚstepÚscalerÚsave_on_each_nodeÚsafe_serializationÚreturn)ÚstrÚlistÚdictÚintr   r   Úboolr   )Úformats   "ÚY/home/luca/screen-checking/.venv/lib/python3.14/site-packages/accelerate/checkpointing.pyÚ__annotate__r2   ?   sŒ   € ÷ uñ uÜðuä”t•*ðuô ðuô ð	uô
 ðuô ðuô ðuô ”ZÕ ðuô ðuô ðuô 
ñuó    c
                ó
  € \        V 4      p \        V4       Fl  w  r«V	'       g   \        M\        pV
^ 8”  d   VP	                  RRV
 R24      pV P                  V4      p\        W½W‰R7       \        P                  RV 24       Kn  	  \        V4       Fi  w  r®VP                  4       pV
^ 8X  d
   \         R2M\         RV
 R2pV P                  V4      p\        VVVRR7       \        P                  RV 24       Kk  	  \        V4       Fj  w  p
pVP                  4       pV
^ 8X  d
   \         R2M\         RV
 R2pV P                  V4      p\        VVVRR7       \        P                  RV 24       Kl  	  \        V4       Fþ  w  p
pV
^ 8X  d
   \         R2M\         RV
 R2pV P                  V4      p^R	IHpHp \!        VP"                  V4      '       d2   VP%                  4       p\!        VV4      '       d   \        VVVRR7       \'        VR
R4      '       dH   V
^ 8X  d   RMRV
 R2pV P                  V4      pVP                  4       p\(        P                  ! VV4       \        P                  RV
 RV 24       EK   	  VeU   VP                  4       pV P                  \*        4      p\(        P                  ! VV4       \        P                  RV 24       / p\,         RV R2pVVR&   \.        P0                  ! 4       VR&   \2        P.                  P5                  4       VR&   \(        P6                  ! 4       VR&   \9        4       '       d"   \(        P:                  P=                  4       VR&   \?        4       '       d#   \(        P@                  P=                  4       VR&   Mc\C        4       '       d#   \(        PD                  P=                  4       VR&   M1\G        4       '       d"   \(        PH                  P=                  4       VR&   \K        4       '       d"   \(        PL                  P=                  4       VR&   \O        4       '       d"   \(        PP                  P=                  4       VR&   \S        4       '       d"   \(        PT                  P=                  4       VR&   \W        4       '       d   \X        P6                  ! 4       VR&   V P                  V4      p \(        P                  ! VV 4       \        P                  RV  24       V # )a  
Saves the current states of the models, optimizers, scaler, and RNG generators to a given directory.

<Tip>

If `safe_serialization` is `True`, models will be saved with `safetensors` while the rest are saved using native
`pickle`.

</Tip>

Args:
    output_dir (`str` or `os.PathLike`):
        The name of the folder to save all relevant weights and states.
    model_states (`List[torch.nn.Module]`):
        A list of model states
    optimizers (`List[torch.optim.Optimizer]`):
        A list of optimizer instances
    schedulers (`List[torch.optim.lr_scheduler._LRScheduler]`):
        A list of learning rate schedulers
    dataloaders (`List[torch.utils.data.DataLoader]`):
        A list of dataloader instances to save their sampler states
    process_index (`int`):
        The current process index in the Accelerator state
    step (`int`):
        The current step in the internal step tracker
    scaler (`torch.amp.GradScaler`, *optional*):
        An optional gradient scaler instance to save;
    save_on_each_node (`bool`, *optional*):
        Whether to save on every node, or only the main node.
    safe_serialization (`bool`, *optional*, defaults to `True`):
        Whether to save the model using `safetensors` or the traditional PyTorch way (that uses `pickle`).
Ú.Ú_)r(   r)   zModel weights saved in ú.binFzOptimizer state saved in zScheduler state saved in ©ÚIterableDatasetShardÚSeedableRandomSamplerÚuse_stateful_dataloaderúdl_state_dict.binÚdl_state_dict_zSampler state for dataloader z
 saved in zGradient scaler state saved in ú.pklr&   Úrandom_stateÚnumpy_random_seedÚtorch_manual_seedÚtorch_xpu_manual_seedÚtorch_mlu_manual_seedÚtorch_sdaa_manual_seedÚtorch_musa_manual_seedÚtorch_hpu_manual_seedÚtorch_neuron_manual_seedÚtorch_cuda_manual_seedÚxm_seedzRandom states saved in )-r   Ú	enumerater   r
   ÚreplaceÚjoinpathr   ÚloggerÚinfoÚ
state_dictr   r   r   Údata_loaderr9   r:   Ú
isinstanceÚdatasetÚget_samplerÚgetattrÚtorchr   r   ÚrandomÚgetstateÚnpÚ	get_stateÚget_rng_stater   ÚxpuÚget_rng_state_allr   Úmlur   Úsdaar   Úmusar   Úhpur   Úneuronr   Úcudar   Úxm)!r    r!   r"   r#   r$   r%   r&   r'   r(   r)   ÚiÚstateÚweights_nameÚoutput_model_fileÚoptÚoptimizer_nameÚoutput_optimizer_fileÚ	schedulerÚscheduler_nameÚoutput_scheduler_fileÚ
dataloaderÚsampler_nameÚoutput_sampler_filer9   r:   ÚsamplerÚdataloader_state_dict_nameÚ!output_dataloader_state_dict_filerO   Úoutput_scaler_fileÚstatesÚstates_nameÚoutput_states_files!   &&&&&&&&&&                       r1   Úsave_accelerator_staterx   ?   sh  € ôX �jÓ!€Jä˜lÖ+‰ˆß+=•|ÔCTˆØˆqŒ5Ø'×/Ñ/°°q¸¸¸1°XÓ>ˆLØ&×/Ñ/°Ó=ÐÜˆUÐ9JÕrÜ�‰Ð-Ð.?Ð-@ÐAÖBñ ,ô ˜JÖ'‰ˆØ—‘Ó ˆØ45¸´FœNÐ+¨4Ñ0Ä>ÐBRÐRSÐTUÐSVÐVZÐ@[ˆØ *× 3Ñ 3°NÓ CÐÜˆUÐ)Ð=NÐchÕiÜ�‰Ð/Ð0EÐ/FÐGÖHñ (ô " *Ö-‰ˆˆ9Ø×$Ñ$Ó&ˆØ45¸´FœNÐ+¨4Ñ0Ä>ÐBRÐRSÐTUÐSVÐVZÐ@[ˆØ *× 3Ñ 3°NÓ CÐÜˆUÐ)Ð=NÐchÕiÜ�‰Ð/Ð0EÐ/FÐGÖHñ .ô # ;Ö/‰ˆˆ:Ø01°Q´œ,˜ tÑ,¼|¸nÈAÈaÈSÐPTÐ<UˆØ(×1Ñ1°,Ó?ÐçLä�j×(Ñ(Ð*>×?Ò?Ø ×,Ñ,Ó.ˆGÜ˜'Ð#8×9Ò9Ü�WÐ1ÐEVÐkpÕqÜ�:Ð8¸%×@Ò@Ø@AÀQÄÑ)<ÈnÐ]^Ð\_Ð_cÐLdÐ&Ø0:×0CÑ0CÐD^Ó0_Ð-Ø#×.Ñ.Ó0ˆJÜ�JŠJ�zÐ#DÔEÜ�‰Ð3°A°3°jÐATÐ@UÐV×Wñ 0ð$ ÒØ×!Ñ!Ó#ˆØ'×0Ñ0´Ó=ÐÜ�
Š
�5Ð,Ô-Ü�‰Ð5Ð6HÐ5IÐJÔKà€FÜ#Ð$ A m _°DÐ9€KØ€Fˆ6�NÜ#Ÿ_š_Ó.€Fˆ>ÑÜ"$§)¡)×"5Ñ"5Ó"7€FÐÑÜ"'×"5Ò"5Ó"7€FÐÑÜ×ÒÜ*/¯)©)×*EÑ*EÓ*GˆÐ&Ñ'Ü×ÒÜ*/¯)©)×*EÑ*EÓ*GˆÐ&Ò'Ü	×	Ò	Ü+0¯:©:×+GÑ+GÓ+IˆÐ'Ò(Ü	×	Ò	Ü+0¯:©:×+GÑ+GÓ+IˆÐ'Ñ(Ü×ÒÜ*/¯)©)×*EÑ*EÓ*GˆÐ&Ñ'Ü×ÒÜ-2¯\©\×-KÑ-KÓ-MˆÐ)Ñ*Ü×ÒÜ+0¯:©:×+GÑ+GÓ+IˆÐ'Ñ(Ü×ÒÜ×,Ò,Ó.ˆˆyÑØ#×,Ñ,¨[Ó9ÐÜ	‡J‚JˆvÐ)Ô*Ü
‡K�KÐ)Ð*<Ð)=Ð>Ô?ØÐr3   c                ó°   € V ^8„  d   QhR\         R\        R\        R\        R\        R\        R\        \        ,          R\        \
        ,          R	\
        /	# )
r   Ú	input_dirÚmodelsr"   r#   r$   r%   r'   Úload_kwargsr*   )r+   r,   r.   r   r   r-   )r0   s   "r1   r2   r2   ·   sv   € ÷ Iñ IÜðIäðIô ðIô ð	Iô
 ðIô ðIô ”ZÕ ðIô œ$•ðIô 
ñIr3   c	                óÈ  € \        4       p
VR$9  d   \        R4      hVf   RpMVR8X  d   \        4       P                  pVf   / p\	        V 4      p \        V4       F•  w  r¼V^ 8”  d   RV 2MRpV P                  \         V R24      pVP                  4       '       d   \        WÎ3R\        V4      /V	B  K\  V P                  \         V R24      p\        WçR	7      pVP                  ! V3/ V	B  K—  	  \        P                  R
4       \        V4       FX  w  ppV^ 8X  d
   \          R2M\          RV R2pV P                  V4      p\        V3RV/VB pW+,          P                  V4       KZ  	  \        P                  R4       \        V4       FP  w  ppV^ 8X  d
   \"         R2M\"         RV R2pV P                  V4      p\        V3/ VB pVP                  V4       KR  	  \        P                  R4       \        V4       Fþ  w  ppV^ 8X  d
   \$         R2M\$         RV R2pV P                  V4      p^RIHpHp \-        VP.                  V4      '       d=   VP1                  4       p\-        VV4      '       d   VP3                  \        V4      4      p\5        VRR4      '       g   K¨  V^ 8X  d   RMRV R2pV P                  V4      pVP                  4       '       g   Kà  \        V3/ VB pVP                  V4       EK   	  \        P                  R4       VeG   V P                  \6        4      p \        V 4      p!VP                  V!4       \        P                  R4        \        V P                  \8         RV R24      4      p"RV"9   d   V"R,          V
R&   \:        P<                  ! V"R,          4       \>        P:                  PA                  V"R,          4       \B        PD                  ! V"R,          4       \G        4       '       d'   \B        PH                  PK                  V"R,          4       \M        4       '       d(   \B        PN                  PK                  V"R,          4       Mm\Q        4       '       d(   \B        PR                  PK                  V"R,          4       M6\U        4       '       d'   \B        PV                  PK                  V"R,          4       \Y        4       '       d'   \B        PZ                  PK                  V"R,          4       \]        4       '       d'   \B        P^                  PK                  V"R,          4       \a        4       '       d'   \B        Pb                  PK                  V"R ,          4       \e        4       '       d   \f        PD                  ! V"R!,          4       \        P                  R"4       V
#   \h         d    \        P                  R#4        T
# i ; i)%aë  
Loads states of the models, optimizers, scaler, and RNG generators from a given directory.

Args:
    input_dir (`str` or `os.PathLike`):
        The name of the folder to load all relevant weights and states.
    models (`List[torch.nn.Module]`):
        A list of model instances
    optimizers (`List[torch.optim.Optimizer]`):
        A list of optimizer instances
    schedulers (`List[torch.optim.lr_scheduler._LRScheduler]`):
        A list of learning rate schedulers
    dataloaders (`List[torch.utils.data.DataLoader]`):
        A list of dataloader instances used in your program
    process_index (`int`):
        The current process index in the Accelerator state
    scaler (`torch.amp.GradScaler`, *optional*):
        An optional *GradScaler* instance to load
    map_location (`str`, *optional*):
        What device to load the optimizer state onto. Should be one of either "cpu" or "on_device".
    load_kwargs (`dict`, *optional*):
        Additional arguments that can be passed to the `load` function.
    load_model_func_kwargs (`dict`, *optional*):
        Additional arguments that can be passed to the model's `load_state_dict` method.

Returns:
    `dict`: Contains the `Accelerator` attributes to override while loading the state.
ÚcpuÚ	on_devicezaUnsupported optimizer map location passed, please choose one of `None`, `'cpu'`, or `'on_device'`r6   Ú z.safetensorsÚdevicer7   )Úmap_locationz%All model weights loaded successfullyr‚   z(All optimizer states loaded successfullyz(All scheduler states loaded successfullyr8   r;   Fr<   r=   z1All dataloader sampler states loaded successfullyz$GradScaler state loaded successfullyr>   r&   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   z%All random states loaded successfullyzCould not load random states)Nr~   r   )5r-   Ú	TypeErrorr   r�   r   rJ   rL   r	   Úexistsr   r+   r   r   Úload_state_dictrM   rN   r   r   r   rP   r9   r:   rQ   rR   rS   Úset_samplerrT   r   r   rV   ÚsetstaterX   Ú	set_staterU   Úset_rng_stater   r[   Úset_rng_state_allr   r]   r   r^   r   r_   r   r`   r   ra   r   rb   r   rc   Ú	Exception)#rz   r{   r"   r#   r$   r%   r'   r‚   r|   Úload_model_func_kwargsÚoverride_attributesrd   ÚmodelÚendingÚinput_model_filerO   rh   ri   Úinput_optimizer_fileÚoptimizer_staterk   rl   Úinput_scheduler_fileÚscheduler_statern   ro   Úinput_sampler_filer9   r:   rq   rr   Ú input_dataloader_state_dict_fileÚinput_scaler_fileÚscaler_stateru   s#   &&&&&&&&&,                         r1   Úload_accelerator_stater™   ·   s  € ôR ›&ÐØÐ5Ô5ÜØoó
ð 	
ð ÒØ‰Ø	˜Ô	$Ü#“~×,Ñ,ˆàÒØˆä�Y“€Iä˜fÖ%‰ˆØ œE�1�Q�C‘ rˆØ$×-Ñ-´Ð0AÀ&ÀÈÐ.VÓWÐØ×"Ñ"×$Ò$Ü�uÑc´s¸<Ó7HÐcÐLbÔcð  )×1Ñ1´Z°LÀÀÈÐ2MÓNÐÜÐ.ÔJˆJØ×!Ò! *ÑGÐ0FÔGñ &ô ‡K�KÐ7Ô8ô ˜JÖ'‰ˆˆ3Ø45¸´FœNÐ+¨4Ñ0Ä>ÐBRÐRSÐTUÐSVÐVZÐ@[ˆØ(×1Ñ1°.ÓAÐÜÐ3Ñ^À,Ð^ÐR]Ñ^ˆØ�×%Ñ% oÖ6ñ	 (ô
 ‡K�KÐ:Ô;ô " *Ö-‰ˆˆ9Ø45¸´FœNÐ+¨4Ñ0Ä>ÐBRÐRSÐTUÐSVÐVZÐ@[ˆØ(×1Ñ1°.ÓAÐÜÐ3ÑC°{ÑCˆØ×!Ñ! /Ö2ñ	 .ô
 ‡K�KÐ:Ô;ä" ;Ö/‰ˆˆ:Ø01°Q´œ,˜ tÑ,¼|¸nÈAÈaÈSÐPTÐ<UˆØ&×/Ñ/°Ó=ÐçLä�j×(Ñ(Ð*>×?Ò?Ø ×,Ñ,Ó.ˆGÜ˜'Ð#8×9Ò9Ø$×0Ñ0´Ð6HÓ1IÓJ�Ü�:Ð8¸%×@Ô@Ø@AÀQÄÑ)<ÈnÐ]^Ð\_Ð_cÐLdÐ&Ø/8×/AÑ/AÐB\Ó/]Ð,Ø/×6Ñ6×8Ô8Ü!Ð"BÑRÀkÑR�
Ø×*Ñ*¨:×6ñ 0ô  ‡K�KÐCÔDð ÒØ%×.Ñ.¬{Ó;ÐÜÐ-Ó.ˆØ×Ñ˜|Ô,Ü�‰Ð:Ô;ð4Ü�i×(Ñ(¬NÐ+;¸1¸]¸OÈ4Ð)PÓQÓRˆØ�VÔØ*0°­.Ð Ñ'Ü�Š˜˜~Õ.Ô/Ü
�	‰	×Ñ˜FÐ#6Õ7Ô8Ü×Ò˜FÐ#6Õ7Ô8Ü×ÒÜ�I‰I×'Ñ'¨Ð/FÕ(GÔHÜ×ÒÜ�I‰I×'Ñ'¨Ð/FÕ(GÕHÜ× Ò Ü�J‰J×(Ñ(¨Ð0HÕ)IÕJÜ× Ò Ü�J‰J×(Ñ(¨Ð0HÕ)IÔJÜ×ÒÜ�I‰I×'Ñ'¨Ð/FÕ(GÔHÜ× Ò Ü�L‰L×*Ñ*¨6Ð2LÕ+MÔNÜ×ÒÜ�J‰J×(Ñ(¨Ð0HÕ)IÔJÜ!×#Ò#Ü×Ò˜V IÕ.Ô/Ü�‰Ð;Ô<ð Ðøô ô 4Ü�‰Ð2Õ3àÐð4ús   Í&IV= Ö= W!× W!c                ó@   € V ^8„  d   QhR\         R\        R\        RR/# )r   ÚpathÚindexr(   r*   N)r+   r.   r/   )r0   s   "r1   r2   r2   C  s/   € ÷ Oñ O¤ð O¬Sð OÌð OÐZ^ñ Or3   c                ó°   € \        V4      RV R2,          p\        P                  R\        V 4       RV 24       \	        V P                  4       WCR7       R# )zD
Saves the state of `obj` to `{path}/custom_checkpoint_{index}.pkl`
Úcustom_checkpoint_r>   zSaving the state of z to )r(   N)r   rM   rN   r   r   rO   )Úobjr›   rœ   r(   Úsave_locations   &&&& r1   Úsave_custom_stater¡   C  sM   € ô
 ˜“JÐ#5°e°W¸DÐ!AÕA€MÜ
‡K�KÐ&¤°sÓ';Ð&<¸DÀÀÐPÔQÜˆ�‰Ó	˜=×Nr3   c                ó4   € V ^8„  d   QhR\         R\        RR/# )r   r›   rœ   r*   N)r+   r.   )r0   s   "r1   r2   r2   M  s&   € ÷ Uñ U¤ð U¬Sð U¸ñ Ur3   c                ó˜   € V RV R2p\         P                  R\        V 4       RV 24       V P                  \	        VRRR7      4       R# )	z‚
Loads the state of `obj` at `{path}/custom_checkpoint_{index}.pkl`. Will always set `weights_only=False` when
loading the state.
z/custom_checkpoint_r>   zLoading the state of z from r~   F)r‚   Úweights_onlyN)rM   rN   r   r…   r   )rŸ   r›   rœ   Úload_locations   &&& r1   Úload_custom_stater¦   M  sN   € ð
 �fÐ/°¨w°dÐ;€MÜ
‡K�KÐ'¬¸Ó(<Ð'=¸VÀMÀ?ÐSÔTØ×Ñœ˜]¸ÈUÔSÖTr3   )NFT)NNN)r   F)r   )1rV   Úpathlibr   Útypingr   ÚnumpyrX   rU   Úsafetensors.torchr   Úutilsr   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Ú	torch.ampr   Útorch.cuda.ampÚtorch_xla.core.xla_modelÚcoreÚ	xla_modelrc   Úloggingr   re   r   Ú__name__rM   rx   r™   r¡   r¦   © r3   r1   Ú<module>r´      s�   ðó Ý Ý ã Û Ý (÷÷ ÷ ÷ ÷ õ ñ2 �D˜'×"Ò"Þ$å)á×Òß)Ð)å Ý ñ 
�HÓ	€÷u÷pI÷XO÷Uñ Ur3   