a
    ==ic                     @   s4   G d d de ZG dd deZG dd deZdS )c                   @   s$   e Zd Zdd Zdd Zdd ZdS )
Normalizerc                 C   s   d S N )selfr   r   i/home/droni/.local/share/virtualenvs/DPS-5Je3_V2c/lib/python3.9/site-packages/caffe2/python/normalizer.py__init__   s    zNormalizer.__init__c                 C   s   |  ||S r   )_runr   netparamr   r   r   __call__   s    zNormalizer.__call__c                 C   s   t dd S )NzNot Impelemented)	Exceptionr   r   r   r   r      s    zNormalizer._runN)__name__
__module____qualname__r   r   r   r   r   r   r   r      s   r   c                       s&   e Zd Zd fdd	Zdd Z  ZS )BatchNormalizer      ?c                    s&   t t|   t|| _t|| _d S r   )superr   r   float	_momentum_scale_init_value)r   momentumscale_init_value	__class__r   r   r      s    
zBatchNormalizer.__init__c                 C   s   |j || j| jdS )N)r   r   )ZBatchNormalizationr   r   r   Zlayer_modelr
   r   r   r   r      s    
zBatchNormalizer._run)r   r   r   r   r   r   __classcell__r   r   r   r   r      s   r   c                       s&   e Zd Zd fdd	Zdd Z  ZS )LayerNormalizerTr   c                    s,   t t|   t|| _|| _t|| _d S r   )r   r   r   r   _epsilon_use_layer_norm_opr   )r   epsilonuse_layer_norm_opr   r   r   r   r   #   s    
zLayerNormalizer.__init__c                 C   s   |j || j| j| jdS )N)r    r!   r   )ZLayerNormalizationr   r   r   r   r   r   r   r   )   s    zLayerNormalizer._run)Tr   r   r   r   r   r   r   "   s   r   N)objectr   r   r   r   r   r   r   <module>   s   