a
    ==ic7                     @   s    d dl Z G dd de jdZdS )    Nc                   @   s2   e Zd ZdZdd Zejd
ddZddd	ZdS )NetModifiera
  
    An abstraction class for supporting modifying a generated net.
    Inherited classes should implement the modify_net method where
    related operators are added to the net.

    Example usage:
        modifier = SomeNetModifier(opts)
        modifier(net)
    c                 C   s   d S N )selfr   r   t/home/droni/.local/share/virtualenvs/DPS-5Je3_V2c/lib/python3.9/site-packages/caffe2/python/modeling/net_modifier.py__init__   s    zNetModifier.__init__Nc                 C   s   d S r   r   )r   netinit_netgrad_mapblob_to_devicer   r   r   
modify_net   s    zNetModifier.modify_netFc                 C   s   | j |||||d d S )N)r	   r
   r   modify_output_record)r   )r   r   r	   r
   r   r   r   r   r   __call__   s    zNetModifier.__call__)NNN)NNNF)	__name__
__module____qualname____doc__r   abcabstractmethodr   r   r   r   r   r   r   	   s   
  r   )	metaclass)r   ABCMetar   r   r   r   r   <module>   s   