
    ^j                     P    d Z ddlmZ ddlmZmZ ddlmZ e G d de             Zy)uD   Exporter protocol — enables dependency-inversion for model export.    )Path)Protocolruntime_checkableNc                   F    e Zd ZdZdej
                  deedf   dedefdZ	y)	ExporterProtocolzProtocol for model exporters.

    Any callable or class that matches this signature can be registered as an exporter without inheriting from a base
    class.
    modelinput_shape.output_pathreturnc                      y)a<  Export *model* to *output_path*.

        Args:
            model: The PyTorch model to export.
            input_shape: Input tensor shape (excluding batch dimension).
            output_path: Destination path for the exported artifact.

        Returns:
            The resolved path to the exported file.
        N )selfr   r	   r
   s       b/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/rfdetr/export/protocols.py__call__zExporterProtocol.__call__   s      	    N)
__name__
__module____qualname____doc__nnModuletupleintr   r   r   r   r   r   r      s>    yy 38_ 	
 
r   r   )	r   pathlibr   typingr   r   torch.nnr   r   r   r   r   <module>r      s/    K  .  x  r   