
    BVhS	                         d Z ddlZddlZ G d dej                        Z e       Zej                  d        Zd Z G d dej                        Z	 e	       Z
ej                  d	        Zd
 Zy)zContext for saving checkpoint.    Nc                   4     e Zd ZdZ fdZd Zd Zd Z xZS )PreemptionSaveContextz0A context for saving checkpoint upon preemption.c                 0    t         |           d| _        y NF)super__init___in_preemption_save_contextself	__class__s    _/home/dcms/DCMS/lib/python3.12/site-packages/tensorflow/python/checkpoint/checkpoint_context.pyr   zPreemptionSaveContext.__init__   s    	G',D$    c                     d| _         y NTr	   r   s    r   enter_preemption_save_contextz3PreemptionSaveContext.enter_preemption_save_context   s
    '+D$r   c                     d| _         y r   r   r   s    r   exit_preemption_save_contextz2PreemptionSaveContext.exit_preemption_save_context   s
    ',D$r   c                     | j                   S Nr   r   s    r   in_preemption_save_contextz0PreemptionSaveContext.in_preemption_save_context"   s    +++r   )	__name__
__module____qualname____doc__r   r   r   r   __classcell__r   s   @r   r   r      s    8-,-,r   r   c               #      K   t         j                          	 d  t         j                          y # t         j                          w xY wwr   )_preemption_save_contextr   r    r   r   preemption_save_contextr"   )   s3     88:<	99;99;   A
1 A
AA
c                  *    t         j                         S r   )r    r   r!   r   r   r   r   2   s    	!	<	<	>>r   c                   4     e Zd ZdZ fdZd Zd Zd Z xZS )AsyncMetricsContextzMA context for controlling metrics recording when async checkpoint is used.
  c                 0    t         |           d| _        y r   )r   r   _in_async_metrics_contextr
   s    r   r   zAsyncMetricsContext.__init__:   s    	G%*D"r   c                     d| _         y r   r(   r   s    r   enter_async_metrics_contextz/AsyncMetricsContext.enter_async_metrics_context>   s
    %)D"r   c                     d| _         y r   r*   r   s    r   exit_async_metrics_contextz.AsyncMetricsContext.exit_async_metrics_contextA   s
    %*D"r   c                     | j                   S r   r*   r   s    r   in_async_metrics_contextz,AsyncMetricsContext.in_async_metrics_contextD   s    )))r   )	r   r   r   r   r   r+   r-   r/   r   r   s   @r   r&   r&   6   s    +*+*r   r&   c               #      K   t         j                          	 d  t         j                          y # t         j                          w xY wwr   )_async_metrics_contextr+   r-   r!   r   r   async_metrics_contextr2   K   s3     4468	557557r#   c                  *    t         j                         S r   )r1   r/   r!   r   r   r/   r/   T   s    		8	8	::r   )r   
contextlib	threadinglocalr   r    contextmanagerr"   r   r&   r1   r2   r/   r!   r   r   <module>r8      s    %  ,IOO ," 12  < <?*)// *$ -.  8 8;r   