
    Vh%                     `    d dl mZmZmZ d dlmZ ddgZe G d de             Z ede      Zy)    )Anyruntime_checkableTypeVar)ProtocolStateful	StatefulTc                   @    e Zd ZdZdeeef   fdZdeeef   ddfdZy)r   zN
    Stateful protocol for objects that can be checkpointed and restored.
    returnc                      y)a  
        Objects should return their state_dict representation as a dictionary.
        The output of this function will be checkpointed, and later restored in
        `load_state_dict()`.

        .. warning::
            Because of the inplace nature of restoring a checkpoint, this function
            is also called during `torch.distributed.checkpoint.load`.


        Returns:
            Dict: The objects state dict
        N )selfs    U/home/dcms/DCMS/lib/python3.12/site-packages/torch/distributed/checkpoint/stateful.py
state_dictzStateful.state_dict   s     	    r   Nc                      y)z
        Restore the object's state from the provided state_dict.

        Args:
            state_dict: The state dict to restore from
        Nr   )r   r   s     r   load_state_dictzStateful.load_state_dict   s     	r   )	__name__
__module____qualname____doc__dictstrr   r   r   r   r   r   r   r      s6    DcN "$sCx. T r   )boundN)	typingr   r   r   typing_extensionsr   __all__r   r   r   r   r   <module>r      sD    2 2 & {
# x  B Kx0	r   