
    Αi-                     N    S SK Jr   " S S5      r " S S\5      r " S S5      rg)	   )CompiledProgramc                        \ rS rSrS rS rSrg)SerializableBase   c                     [         eNNotImplementedErrorselfpaths     p/var/www/html/banglarbhumi/venv/lib/python3.13/site-packages/paddle/base/incubate/checkpoint/checkpoint_saver.py	serializeSerializableBase.serialize       !!    c                     [         er   r	   r   s     r   deserializeSerializableBase.deserialize   r   r    N)__name__
__module____qualname____firstlineno__r   r   __static_attributes__r   r   r   r   r      s    ""r   r   c                   &    \ rS rSrS rS rS rSrg)PaddleModel   c                     Xl         X l        X l        [        U[        5      (       a  UR                  U l        SU l        g )N_paddle_fleet_param__)_exe_origin_program_program
isinstancer   
_file_name)r   exeprograms      r   __init__PaddleModel.__init__   s3    	&g//#,,DM1r   c                 ^    SSK Jn  U" U R                  UU R                  U R                  S9  g )N    )save_persistablesexecutordirnamemain_programfilename)paddle.distributed.ior,   r!   r#   r%   )r   r   r,   s      r   r   PaddleModel.serialize$   %    ;YY__		
r   c                 ^    SSK Jn  U" U R                  UU R                  U R                  S9  g )Nr+   )load_persistablesr-   )r2   r6   r!   r#   r%   )r   r   r6   s      r   r   PaddleModel.deserialize.   r4   r   )r!   r%   r"   r#   N)r   r   r   r   r(   r   r   r   r   r   r   r   r      s    2

r   r   c                   B    \ rS rSrS r S	S jr   S
S jrS rS rSr	g)CheckpointSaver9   c                     Xl         SU l        g )N__paddle_checkpoint__)_fs_checkpoint_prefix)r   fss     r   r(   CheckpointSaver.__init__:   s    "9r   Nc                    U R                   R                  U5      (       d  U R                   R                  U5        O+U R                   R                  U5      (       d   SU S35       eU R	                  U5      nUS:  a  SnUS-  nU SU R
                   SU 3nU S3nUnSS	KJn	  U	" 5       n
S
nU R                   R                  5       (       aj  U SU R
                   SU S3nUb  U SU 3nU
R                  U5      (       d  U
R                  U5        O!U
R                  U5      (       d   SU S35       eUnU H  nUR                  U5        M     U R                   R                  5       (       aG  U R                   R                  U5        U R                   R                  X5        U
R                  U5        U R                   R                  Xv5        Xe4$ )zP
Serialize objects in slists to path
Return really saved path and checkpoint_no
zpath:z must be a directoryr+      /.z.tmpLocalFSNz.saved_cachezcache path:)r=   is_existmkdirsis_dir_get_last_checkpoint_nor>   !paddle.distributed.fleet.utils.fsrG   need_upload_downloadr   deleteuploadmv)r   r   slists
trainer_idlocal_cache_pathmax_no	real_pathtmp_path
saved_pathrG   local_fs
cache_pathss                r   save_checkpointCheckpointSaver.save_checkpoint>   s    xx  &&HHOOD!88??4((LE$7K*LL(--d3A:F!fAd556ax@	[%
=9
88((**,-Qt/F/F.GqP\]J% *|1ZL9
$$Z00
+z22 !*-AB2 $JAKK
#  88((**HHOOH%HHOOJ1OOJ'H(  r   c                 "   Uc/  U R                  U5      nU(       d  US:  d   S5       eUS:  a  gUnO[        U[        5      (       d   eUS:  d   eSSKJn  U" 5       n	U R
                  R                  5       (       am  U SU R                   SU S3n
Ub  U
 SU 3n
U	R                  U5      (       d  U	R                  U5        U	R                  U
5      (       a  U	R                  U
5        U SU R                   SU 3nUnU R
                  R                  5       (       a  U R
                  R                  UW
5        U
nU H  nUR                  U5        M     U R
                  R                  5       (       a  W
(       a  U	R                  U
5        U$ )zA
Deserialize objects in slists from path
Return really load path
Nr+   zCan't find checkpointrF   rD   rE   z.load_cache)rK   r$   intrL   rG   r=   rM   r>   rH   rI   rN   downloadr   )r   r   rQ   rR   rS   checkpoint_noignore_emptyrT   rG   rX   rY   rU   	load_pathrZ   s                 r   load_checkpointCheckpointSaver.load_checkpointr   s|     11$7F{;$;;{z"MmS1111 A%%%=988((**,-Qt/F/F.GqWbcJ% *|1ZL9
$$%566 01  ,,
+fAd556aG		88((**HHi4"IAMM)$  88((**zOOJ'r   c                 0   / nU R                   R                  U5      nU HZ  nUR                  S5      n[        U5      S:w  a  M%  US   U R                  :w  a  M:   [        US   5      nUR                  U5        M\     UR                  5         U$ !    Mu  = f)NrE      r+   rC   )r=   	list_dirssplitlenr>   r^   appendsort)r   	root_pathadirsdgns          r   get_checkpoint_no!CheckpointSaver.get_checkpoint_no   s    xx!!),AA1v{tt...!I  	
	s   BBc                 N    U R                  U5      n[        U5      S:  a  US   $ g)z
only get the first depth
r+   rB   )rr   ri   )r   rl   rm   s      r   rK   'CheckpointSaver._get_last_checkpoint_no   s+     ""9-q6A:R5Lr   )r>   r=   )N.cache)rv   NT)
r   r   r   r   r(   r[   rc   rr   rK   r   r   r   r   r9   r9   9   s.    :
 ?G2!r "5n(r   r9   N)compilerr   r   r   r9   r   r   r   <module>rx      s-    (" "
" 
>L Lr   