
      iK                         d dl mZ d dlmZ d dlmZ  G d de      Z G d de      Z G d d	e      Ze G d
 d             Z	y)    )	dataclass)Optional)LightningEnumc                   6    e Zd ZdZdZdZdZdZede	fd       Z
y)	TrainerStatuszNEnum for the status of the :class:`~lightning.pytorch.trainer.trainer.Trainer`initializingrunningfinishedinterruptedreturnc                 6    | | j                   | j                  fv S N)FINISHEDINTERRUPTEDselfs    u/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/lightning/pytorch/trainer/states.pystoppedzTrainerStatus.stopped   s    t'7'7888    N)__name__
__module____qualname____doc__INITIALIZINGRUNNINGr   r   propertyboolr    r   r   r   r      s2    X!LGHK9 9 9r   r   c                        e Zd ZdZdZdZdZdZy)	TrainerFnzEnum for the user-facing functions of the :class:`~lightning.pytorch.trainer.trainer.Trainer` such as
    :meth:`~lightning.pytorch.trainer.trainer.Trainer.fit` and
    :meth:`~lightning.pytorch.trainer.trainer.Trainer.test`.fitvalidatetestpredictN)r   r   r   r   FITTING
VALIDATINGTESTING
PREDICTINGr   r   r   r    r    !   s    @ GJGJr   r    c                   V    e Zd ZdZdZdZdZdZdZe	de
fd       Ze	dee   fd	       Zy
)RunningStagea  Enum for the current running stage.

    This stage complements :class:`TrainerFn` by specifying the current running stage for each function.
    More than one running stage value can be set while a :class:`TrainerFn` is running:

        - ``TrainerFn.FITTING`` - ``RunningStage.{SANITY_CHECKING,TRAINING,VALIDATING}``
        - ``TrainerFn.VALIDATING`` - ``RunningStage.VALIDATING``
        - ``TrainerFn.TESTING`` - ``RunningStage.TESTING``
        - ``TrainerFn.PREDICTING`` - ``RunningStage.PREDICTING``

    trainsanity_checkr"   r#   r$   r   c                 L    | | j                   | j                  | j                  fv S r   )r&   r'   SANITY_CHECKINGr   s    r   
evaluatingzRunningStage.evaluating?   s"    t7K7KLLLr   c                 P    | | j                   | j                  fv ry| j                  S )Nval)r&   r.   valuer   s    r   dataloader_prefixzRunningStage.dataloader_prefixC   s&    DOOT%9%9::zzr   N)r   r   r   r   TRAININGr.   r&   r'   r(   r   r   r/   r   strr3   r   r   r   r*   r*   ,   s]    
 H$OJGJMD M M 8C=  r   r*   c                       e Zd ZU dZej
                  Zeed<   dZe	e
   ed<   dZe	e   ed<   edefd       Zedefd       Zy)	TrainerStatez_Dataclass to encapsulate the current :class:`~lightning.pytorch.trainer.trainer.Trainer` state.statusNfnstager   c                 <    | j                   t        j                  k(  S r   )r8   r   r   r   s    r   r
   zTrainerState.finishedR   s    {{m4444r   c                 .    | j                   j                  S r   )r8   r   r   s    r   r   zTrainerState.stoppedV   s    {{"""r   )r   r   r   r   r   r   r8   __annotations__r9   r   r    r:   r*   r   r   r
   r   r   r   r   r7   r7   J   sg    i)66FM6"B"$(E8L!(5$ 5 5 # # #r   r7   N)
dataclassesr   typingr   !lightning.pytorch.utilities.enumsr   r   r    r*   r7   r   r   r   <module>rA      sM    "  ;
9M 
9 = < # # #r   