CoolFace
Apppublic

frozencherry/Forgery-Localization-App

sourceHugging Faceupdated 1y agoView on Hugging Face
1likes
custom_layer.cpython-39.pyc21 linesDownload Raw Back to __pycache__
1a

2j}�h�	�@sNddlZddlmZGdd�dej�ZGdd�dej�ZGdd�dej�ZdS)	�N)�layerscs.eZdZd�fdd�	Zdd�Zdd�Z�ZS)	�ChannelAttention�cs tt|�jfi|��||_dS�N)�superr�__init__�ratio)�selfr�kwargs��	__class__��?/home/ubuntu/Documents/forgery-localization-app/custom_layer.pyrszChannelAttention.__init__cCs8|d}tj||jdddd�|_tj|ddd�|_dS)N������relu�	he_normalT)�3activation�kernel_initializer�use_bias)rr)r�Denser�shared_dense_one�shared_dense_two)r	�input_shape�channelsr
r
r�build4szChannelAttention.buildcCs�t��|�}t�dd|jdf�|�}|�|�}|�|�}t��|�}t�dd|jdf�|�}|�|�}|�|�}tj�	||�}t�5�||g�S)N�)r�GlobalAveragePooling2D�Reshape�shaperr�GlobalMaxPooling2D�tf�nn�sigmoid�Multiply)r	�inputs�avg_pool�max_pool�cbam_featurer
r
r�calls6789zChannelAttention.call)r��__name__�10__module__�__qualname__rrr(�
__classcell__r
r
rrrsrcs.eZdZd�fdd�	Zdd�Zdd�Z�ZS)	�SpatialAttention�cs tt|�jfi|��||_dSr)rr.r�kernel_size)r	r0r11rr
rrszSpatialAttention.__init__cCs"tjd|j|jfdddd�|_dS)Nr�samerF)�paddingrr)r�Conv2Dr0�conv2d�r	rr
r
rr szSpatialAttention.buildcCs`t�dd��|�}t�dd��|�}tjdd�||g�}|�|�}t�d�|�}t��||g�S)NcSstj|ddd�S�N�T)�axis�keepdims)r �reduce_mean��xr
r
r�<lambda>$�z'SpatialAttention.call.<locals>.<lambda>cSstj|ddd�Sr6)r �12reduce_maxr;r
r
rr=%r>r7)r8r")r�Lambda�Concatenater4�13Activationr#)r	r$r%r&�concatr'r
r
rr(#s14zSpatialAttention.call)r/r)r
r
rrr.sr.cs,eZdZ�fdd�Zdd�Zdd�Z�ZS)�CBAMcs6tt|�jfi|��d}d}t|�|_t|�|_dS)Nrr/)rrDrr�channel_attentionr.�spatial_attention)r	r15rr0rr
rr,s1617z
CBAM.__init__cCs|�|�}|�|�}|Sr)rErF)r	r$r'r
r
rr(3s1819z	CBAM.callcCsdSrr
r5r
r
rr8sz20CBAM.build)r*r+r,rr(rr-r
r
rrrD+srD)�21tensorflowr Ztensorflow.kerasr�Layerrr.rDr
r
r
r�<module>s