2017-10-05 9 views
1

Je voudrais mettre en place une couche Keras dans laquelle chaque nœud calcule simplement le logarithme du nœud correspondant dans la couche précédente. Je vois dans la documentation de Keras qu'il existe une fonction "log" dans son module backend. Mais je ne comprends pas comment utiliser ça.couche keras qui calcule les logarithmes?

Merci d'avance pour tous les conseils que vous pouvez offrir!

Répondre

0

Vous pouvez utiliser une fonction de back-end dans une couche Lambda:

from keras.layers import Lambda 
import keras.backend as K 

Définir simplement une fonction qui prend le tenseur d'entrée:

def logFunc(x): 
    return K.log(x) 

Et créer une couche lambda avec elle:

#add to the model the way you're used to: 
model.add(Lambda(logFunc,output_shape=(necessaryWithTheano))) 
+0

Merci! J'ai construit mon réseau en utilisant l'API Keras Sequential, pas l'API fonctionnelle. Comment ferais-je ce que vous suggérez en utilisant l'API Sequential? – LWixson

+0

'model.add (Lambda (.....))' –