
    
3j                         S r SSKrSSKrSSKrSSKJr  SSKrSSKJr  \R                  " \
5      rS	S jr    S
S\\   4S jjrS	S jrg)z+Checkpoint helpers for task-based training.    N)Optional)clean_state_dictc                 @   U=(       a    [        [        R                  S5      nU(       aN  [        R                  R                  [        R
                  /5         [        R                  " U SUS9sS S S 5        $ [        R                  " U SUS9$ ! , (       d  f       N$= f)Nsafe_globalscpu)map_locationweights_only)hasattrtorchserializationr   argparse	Namespaceload)checkpoint_pathr	   use_safe_globalss      L/home/wildlama/miniconda3/lib/python3.13/site-packages/timm/task/_helpers.py_load_train_checkpointr      sq    #T0C0C^(T  --x/A/A.BC::oEP\] DC::oEUU DCs   B
Breturnc                    Sn[         R                  R                  U5      (       d.  [        R	                  SR                  U5      5        [        5       e[        XS9n[        U[        5      (       GaD  SnSn	SU;   a  SnSn	OSU;   a  SnU(       Ga%  U(       a  [        R                  S5        U R                  [        Xx   5      U	(       a  UR                  U	5      OS5        Ub6  S	U;   a0  U(       a  [        R                  S
5        UR                  US	   5        UbI  UR                  U;   a9  U(       a  [        R                  S5        UR                  XsR                     5        SU;   aG  US   nSU;   a  US   S:  a  US-  nU(       a'  [        R                  SR                  XS   5      5        U$ U R                  [        U5      5        U(       a$  [        R                  SR                  U5      5        U$ )zResume 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77>>/**3::?KL!!'SJ*d##:%)N)N
"$NGH&& !;<2@
~.d
 $
)BLL!OP))*[*AB&;+E+E+SLL!UV++J7Q7Q,RS*$)'2
*z)/Dq/H A%LLL!D!K!KOho]p!qr/
;<-44_EF    c                    [        XS9nSnSn[        U[        5      (       aA  UR                  SS5      b  SnSnO)UR                  SS5      b  SnOSU;   a  SnSnOS	U;   a  S	n[	        U(       a  X4   OU5      nU R                  U[        U[        5      (       a  U(       a  UR                  U5      OSS
S9  [        R                  SR                  U=(       d    SU5      5        g)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    'SJNN*d##>>*D1=-N-N^^K.:(NZ')N)N
"$N!*"<T^_J*4Z*F*F>
~&_c  
 LL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      sZ    1   	   ( 

H
%V 9 c]9xkr4   