U
    ‰dy  ã                   @   s.   d dl mZ ddd„Zddd	„Zdd
d„ZdS )é    )Úcoreé   Nc                 K   sx   |r|n
dddif}| j rH| j |d ¡g |d fd|gi|d —Ž}nt |d | j¡}|  |¡ | j ||g|g¡S )ÚPReluZConstantFillÚvalueg      Ð?r   Z_slopeÚshaper   )Zinit_paramsZparam_init_netÚ__getattr__r   ZScopedBlobReferenceZAddParameterÚnetr   )ÚmodelÚblob_inÚblob_outZnum_channelsZ
slope_initÚkwargsZslope© r   úF/tmp/pip-unpacked-wheel-ua33x9lu/caffe2/python/helpers/nonlinearity.pyÚprelu   s"    ÿþýü ÿ
r   FÚNCHWc                 K   s&   |rd|d< | j j||fd|i|—ŽS )zRelu.ÚCUDNNÚengineÚorder)r   ZRelu©r	   r
   r   Z	use_cudnnr   r   r   r   r   Úrelu    s    r   c                 K   s&   |rd|d< | j j||fd|i|—ŽS )zTanh.r   r   r   )r   ZTanhr   r   r   r   Útanh'   s    r   )r   N)Fr   )Fr   )Zcaffe2.pythonr   r   r   r   r   r   r   r   Ú<module>   s   

