0

カスタマイズされた損失関数を使用し、エポック内で MSE をプロットしたいと考えています (Keras ライブラリを使用しています)。これは、ニューラル ネットワークに適合させて履歴を保存するために使用するコードです。

model.compile(loss =new_loss2, metrics=['mse'], optimizer=opt)
hist = model3.fit(X_train, y_train, batch_size=32, shuffle=False, epochs=epochs, validation_split=0.15, callbacks = callbackz)

プロット関数を使用して MSE をプロットしようとすると

plt.plot(hist.history['mse'])

このエラーが発生します

Traceback (most recent call last):
  File "D:\Keras1 (1).py", line 150, in <module>
    plt.plot(hist.history['mse'])
KeyError: 'mse'

どうすればそれを正しい方法でプロットできますか?

4

1 に答える 1

2

どういうわけか、メトリックはhistoryディクショナリ内の展開された名前によって参照されます。hist.history['mean_squared_error']動作するはずです。

注: 名前の不一致が気になる場合は、モデルをコンパイルするときに拡張された名前を使用することもできますmodel.compile(loss=new_loss2, metrics=['mean_squared_error'], ...)

于 2018-05-28T10:00:13.497 に答える