Implémenter FReLU avec tf.keras

Aperçu

Présentation de l'implémentation keras d'une nouvelle fonction d'activation appelée FReLU.

Pour plus d'informations sur l'implémentation de FReLU + dans pytorch, veuillez lire l'article suivant. Cela est expliqué très soigneusement. Référence: Naissance & commentaire de la nouvelle fonction d'activation "FReLU"!

Cet article concerne l'implémentation de FReLU dans tf.keras. Avec Depthwise Conv2D et Lambda, vous pouvez l'implémenter rapidement.

Définition

y= \max(x,\mathbb{T}(x))

$ \ mathbb {T} (\ cdot) $ est DepthwiseConv2D.

supposition

tensorflow 2.3.0

la mise en oeuvre

FReLU.py


from tensorflow.keras.layers import DepthwiseConv2D,BatchNormalization
import tensorflow as tf
from tensorflow.keras.layers import Lambda
from tensorflow.keras import backend as K

#Symbole mathématique max()Définition de
def max_unit(args):
    inputs , depthconv_output = args
    return tf.maximum(inputs, depthconv_output)

def FReLU(inputs, kernel_size = 3):
    #T(x)Partie de
    x = DepthwiseConv2D(kernel_size, strides=(1, 1), padding='same')(inputs)
    x = BatchNormalization()(x)
    #Calculer la forme du tenseur pour Lambda
    x_shape = K.int_shape(x)
    #max(x, T(x))Partie de
    x = Lambda(max_unit, output_shape=(x_shape[1], x_shape[2], x_shape[3]))([inputs, x])
    return x

À la fin

La mise en œuvre elle-même est facile, n'est-ce pas? J'essaierai d'implémenter la version Layer quand j'aurai le temps. C'est bien car le nom apparaîtra lorsque cette personne résumera. Si vous avez des questions ou des préoccupations, veuillez laisser un commentaire.

Recommended Posts

Implémenter FReLU avec tf.keras
Implémenter la fonction de connexion avec django-allauth
Implémenter des sous-commandes avec l'argparse de Python
Implémenter le GPU PyTorch + avec Docker
[Qt Designer] Implémenter WebView avec PyQt5
Implémentez la blockchain avec environ 60 lignes
Assurer la reproductibilité avec tf.keras dans Tensorflow 2.3
Implémentez facilement des sous-commandes avec python click
Implémenter Keras LSTM feed forward avec numpy
Implémentez "Data Visualization Design # 2" avec matplotlib
J'ai essayé d'implémenter Autoencoder avec TensorFlow
Implémentez la fonction de tampon de grande taille avec Discord BOT
Implémenter DQN (version complète) avec Tensorflow
Implémentez un estimateur auto-créé minimal avec scikit-learn
J'ai essayé d'implémenter CVAE avec PyTorch
Implémentez facilement la recherche incrémentielle ItemView avec PySide
Implémenter GraphPoolLayer de DeepChem dans la couche personnalisée de PyTorch
Implémentez rapidement le stockage compatible S3 avec python-flask
Implémenter un modèle avec état et comportement