Warum funktioniert dieser Code gut für die Verlustfunktion, aber die Metriken scheitern nach einer Iteration mit "ValueError: Operanden konnten nicht zusammen mit Shapes gesendet werden (32,) (24,) (32,)"?Warum funktioniert meine benutzerdefinierte Keras-Metrik nicht?
Wenn ich "categorical_crossentropy" in Anführungszeichen verwende, dann funktioniert es. Und meine benutzerdefinierte Metrik sieht genauso aus wie in 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)