CoolFace
Apppublic

frozencherry/Forgery-Localization-App

sourceHugging Faceupdated 1y agoView on Hugging Face
1likes
custom_layer.cpython-312.pyc24 linesDownload Raw Back to __pycache__
12j}�h�	���ddlZddlmZGd�dej�ZGd�dej�ZGd�dej�Zy)	�N)�layersc�,��eZdZd�fd�	Zd�Zd�Z�xZS)�ChannelAttentionc�:��tt|�3di|��||_y�N�)�superr�__init__�ratio)�selfr�kwargs�	__class__s   ��?/home/ubuntu/Documents/forgery-localization-app/custom_layer.pyr4zChannelAttention.__init__s���
���.�8��8���5�c��|d}tj||jzddd��|_tj|dd��|_y)N������relu�	he_normalT)�6activation�kernel_initializer�use_bias)rr)r�Denser�shared_dense_one�shared_dense_two)r�input_shape�channelss   r�buildzChannelAttention.build7sJ���r�?�� &���X�t�z�z�-A�f�it�@D�!E��� &���X�+�`d� e��rc��tj�|�}tjdd|jdf�|�}|j	|�}|j|�}tj�|�}tjdd|jdf�|�}|j	|�}|j|�}tjj||z�}tj�||g�S)N�)r�GlobalAveragePooling2D�Reshape�shaperr�GlobalMaxPooling2D�tf�nn�sigmoid�Multiply)r�inputs�avg_pool�max_pool�cbam_features     r�callzChannelAttention.calls���2�6�0�0�2�6�:��<�6�>�>�1�a�����):�";�<�X�F���(�(��2���(�(��2��.�6�,�,�.�v�6��<�6�>�>�1�a�����):�";�<�X�F���(�(��2���(�(��2���u�u�}�}�X��%8�9�� �v��� �&�,�!7�8�8r)���__name__�8__module__�__qualname__r9rr,�
__classcell__�rs@rrrs����f�10 119rrc�,��eZdZd�fd�	Zd�Zd�Z�xZS)�SpatialAttentionc�:��tt|�12di|��||_yr)r	r5r13�kernel_size)rr7r
rs   �rr14zSpatialAttention.__init__s���
���.�8��8�&��rc�n�tjd|j|jfddd��|_y)Nr�samerF)�paddingrr)r�Conv2Dr7�conv2d�rrs  rrzSpatialAttention.build s5���m�m�A��(8�(8�$�:J�:J�'K�U[�p{�GL�M��rc�>�tjd��|�}tjd��|�}tjd��||g�}|j|�}tjd�|�}tj15�||g�S)Nc�2�tj|dd��S�N�T)�axis�keepdims)r$�reduce_mean��xs r�<lambda>z'SpatialAttention.call.<locals>.<lambda>$s��2�>�>�!�!�d�+S�rc�2�tj|dd��Sr@)r$�16reduce_maxrEs rrGz'SpatialAttention.call.<locals>.<lambda>%s��2�=�=���T�+R�rrA)rBr&)r�Lambda�Concatenater<�17Activationr')rr(r)r*�concatr+s      rr,zSpatialAttention.call#s���T�6�=�=�!S�T�U[�\��S�6�=�=�!R�S�TZ�[��+��#�#��+�X�x�,@�A���{�{�6�*��3�v�(�(��3�L�A�� �v��� �&�,�!7�8�8r)�r.r3s@rr5r5s���'�M�9rr5c�*��eZdZ�fd�Zd�Zd�Z�xZS)�CBAMc�t��tt|�18di|��d}d}t|�|_t|�|_y)Nr-rNr)r	rPr19r�channel_attentionr5�spatial_attention)rr
rr7rs    �rr20z
CBAM.__init__,s9���
�d�D�"�,�V�,�����!1�%�!8���!1�+�!>��rc�J�|j|�}|j|�}|S�N)rRrS)rr(r+s   rr,z	CBAM.call3s(���-�-�f�5���-�-�l�;���rc��yrUrr=s  rrz21CBAM.build8s��r)r/r0r1r22r,rr2r3s@rrPrP+s���?��23rrP)�24tensorflowr$�tensorflow.kerasr�Layerrr5rPrrr�<module>rZs;���#�9�v�|�|�9�,9�v�|�|�9� �6�<�<�r