Pourquoi ce code fonctionne correctement pour la fonction de perte, mais les métriques échouent après une itération avec "ValueError: les opérandes ne peuvent pas être diffusés avec des formes (32,) (24,) (32,)"?Pourquoi la mesure personnalisée de mon keras ne fonctionne-t-elle pas?
Si j'utilise "categorical_crossentropy" entre guillemets alors cela fonctionne. Et ma métrique personnalisée est identique à celle de keras.losses.
import keras.backend as K
def categorical_crossentropy(y_true, y_pred):
return K.categorical_crossentropy(y_pred, y_true)
fc.compile(optimizer=Adam(.01), loss=categorical_crossentropy, metrics=[categorical_crossentropy])
fc.fit(xtrain, ytrain, validation_data=(xvalid, yvalid), verbose=0,
callbacks=[TQDMNotebookCallback(leave_inner=True, leave_outer=True)],
nb_epoch=2)