- Keras 1.0.1
- Théano 0.8.2
J'ai une fonction très simple:
from keras import backend as kback
def ave_embed(xval):
return kback.mean(xval, axis=1)
J'utilise cela dans un Keras Lambda
Couche suivie d'un Flatten
Couche:
model.add(Lambda(ave_embed, output_shape=(d, 1)))
model.add(Flatten())
Cependant, quand je compile le modèle, je reçois l'erreur suivante:
Exception: Input 0 is incompatible with layer flatten_1: expected ndim >= 3, found ndim=2
je résoudre ce problème en procédant comme suit:
model.add(Lambda(ave_embed, output_shape=(d, 1)))
model.add(Reshape(d,1))
model.add(Flatten())
Quelqu'un peut-il expliquer la cause de l'exception? Il semble que j'applique reshape sur une sortie qui devrait déjà être cette forme.