Ë
    éÓ^j  ã                   ó�   — d Z ddlZddlZddlZddlmZ ddlZddlmZ  ej                  e
«      Zd	d„Z	 	 	 	 d
dee   fd„Zd	d„Zy)z+Checkpoint helpers for task-based training.é    N)ÚOptional)Úclean_state_dictc                 ó*  — |xr t        t        j                  d«      }|rPt        j                  j                  t        j
                  g«      5  t        j                  | d|¬«      cd d d «       S t        j                  | d|¬«      S # 1 sw Y   Œ!xY w)NÚsafe_globalsÚcpu)Úmap_locationÚweights_only)ÚhasattrÚtorchÚserializationr   ÚargparseÚ	NamespaceÚload)Úcheckpoint_pathr	   Úuse_safe_globalss      ú]/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/timm/task/_helpers.pyÚ_load_train_checkpointr      s}   € Ø#ÒT¬´×0CÑ0CÀ^Ó(TÐÙÜ× Ñ ×-Ñ-¬x×/AÑ/AÐ.BÓCñ 	^Ü—:‘:˜o¸EÐP\Ô]÷	^ñ 	^ä�:‰:�o°EÈÔUÐU÷	^ð 	^ús   ÁB	Â	BÚreturnc                 ó”  — d}t         j                  j                  |«      s.t        j	                  dj                  |«      «       t        «       ‚t        ||¬«      }t        |t        «      �rd}d}	d|v rd}d}	nd|v rd}|�r|rt        j                  d«       | j                  t        ||   «      |	r|j                  |	«      nd«       |�/d	|v r+|rt        j                  d
«       |j                  |d	   «       |�C|j                  |v r5|rt        j                  d«       |j                  ||j                     «       d|v r@|d   }d|v r|d   dkD  r|dz  }|r(t        j                  dj                  ||d   «      «       |S | j                  t        |«      «       |r$t        j                  dj                  |«      «       |S )z³Resume a task-based training checkpoint.

    Supports task checkpoints with ``state_dict``/``task_state`` and legacy
    training checkpoints that used a bare ``model`` key.
    NzNo checkpoint found at '{}'©r	   Ú Ú
state_dictÚ
task_stateÚmodelz(Restoring model state from checkpoint...Ú	optimizerz,Restoring optimizer state from checkpoint...z2Restoring AMP loss scaler state from checkpoint...ÚepochÚversioné   z!Loaded checkpoint '{}' (epoch {})zLoaded checkpoint '{}')ÚosÚpathÚisfileÚ_loggerÚerrorÚformatÚFileNotFoundErrorr   Ú
isinstanceÚdictÚinfoÚload_checkpoint_stater   ÚgetÚload_state_dictÚstate_dict_key)
Útaskr   r   Úloss_scalerÚlog_infor	   Úresume_epochÚ
checkpointr,   Útask_state_keys
             r   Úresume_task_checkpointr3      s´  € ð €LÜ�7‰7�>‰>˜/Ô*Ü�‰Ð3×:Ñ:¸?ÓKÔLÜÓ!Ð!ä'¨ÀlÔS€JÜ�*œdÕ#ØˆØˆØ˜:Ñ%Ø)ˆNØ)‰NØ˜
Ñ"Ø$ˆNâÙÜ—‘ÐGÔHØ×&Ñ&Ü  ¨NÑ!;Ó<Ù2@�
—‘˜~Ô.Àdôð
 Ð$¨¸
Ñ)BÙÜ—L‘LÐ!OÔPØ×)Ñ)¨*°[Ñ*AÔBàÐ&¨;×+EÑ+EÈÑ+SÙÜ—L‘LÐ!UÔVØ×+Ñ+¨J°{×7QÑ7QÑ,RÔSà˜*Ñ$Ø)¨'Ñ2�Ø 
Ñ*¨z¸)Ñ/DÀqÒ/HØ  AÑ%�LÙÜ—L‘LÐ!D×!KÑ!KÈOÐ]gÐhoÑ]pÓ!qÔrØÐà×ÑÔ/°
Ó;Ô<ÙÜ�‰Ð-×4Ñ4°_ÓEÔFØÐó    c                 ó   — t        ||¬«      }d}d}t        |t        «      r;|j                  dd«      �d}d}n$|j                  dd«      �d}nd|v rd}d}nd	|v rd	}t	        |r||   n|«      }| j                  |t        |t        «      r|r|j                  |«      ndd
¬«       t        j                  dj                  |xs d|«      «       y)z@Load EMA weights and optional task state into a task EMA module.r   r   Ústate_dict_emaNÚtask_state_emaÚ	model_emar   r   r   T)ÚemazLoaded {} from checkpoint '{}'r1   )	r   r&   r'   r*   r   r)   r"   r(   r$   )r-   r   r	   r1   r,   r2   r   s          r   Úload_task_ema_checkpointr:   S   sÜ   € ä'¨ÀlÔS€JØ€NØ€NÜ�*œdÔ#Ø�>‰>Ð*¨DÓ1Ð=Ø-ˆNØ-‰NØ�^‰^˜K¨Ó.Ð:Ø(‰NØ˜ZÑ'Ø)ˆNØ)‰NØ˜
Ñ"Ø$ˆNä!Á *¨^Ò"<ÐT^Ó_€JØ×ÑØÜ*4°ZÄÔ*FÉ>ˆ
�‰�~Ô&Ð_cØð ô ô
 ‡L�LÐ1×8Ñ8¸Ò9WÈ<ÐYhÓiÕjr4   )T)NNTT)Ú__doc__r   Úloggingr   Útypingr   r   Útimm.modelsr   Ú	getLoggerÚ__name__r"   r   Úintr3   r:   © r4   r   ú<module>rC      s\   ðÙ 1Û Û Û 	Ý ã å (ð ˆ'×
Ñ
˜HÓ
%€óVð ØØØñ9ð ˆc�]ó9ôxkr4   