o
    ½Ù¾iC  ã                   @   s4   d dl mZ d dlmZ ed ZG dd„ deƒZdS )é    )ÚABC)ÚLiteral©ÚpreloadÚtorchc                   @   s2   e Zd Zededd fdd„ƒZdd„ Zdd„ Zd	S )
ÚHookUtilBaseÚ	hook_modeÚreturnc                 C   s(   ddl m} ddlm} ||dœ|  ƒ S )Nr   )ÚHookUtilModePreload)ÚHookUtilModeTorchr   )Ú%torch_memory_saver.hooks.mode_preloadr
   Ú#torch_memory_saver.hooks.mode_torchr   )r   r
   r   © r   úQ/home/ubuntu/.local/lib/python3.10/site-packages/torch_memory_saver/hooks/base.pyÚcreate   s   þýzHookUtilBase.createc                 C   s   t ‚©N)ÚNotImplementedError©Úselfr   r   r   Úget_path_binary   ó   zHookUtilBase.get_path_binaryc                 C   s   d S r   r   r   r   r   r   Úget_allocator   r   zHookUtilBase.get_allocatorN)Ú__name__Ú
__module__Ú__qualname__ÚstaticmethodÚHookModer   r   r   r   r   r   r   r      s
    r   N)Úabcr   Útypingr   r   r   r   r   r   r   Ú<module>   s    