1
現在、複数の入力と出力を持つKerasモデルを実装しています。入力と出力の数は同じです。Keras:各モデル出力の精度を取得する
私のコードの出力部分は次のようになります。
...
for s in range(NUM_STREAMS):
x[s] = Dense3(x[s])
logits.append(Softmax0(x[s]))
model = Model(
inputs=[inp_ele for inp_ele in inp],
outputs=[logit for logit in logits]
)
sgd = optimizers.SGD(lr=0.1)
model.compile(loss='categorical_crossentropy', optimizer=sgd, metrics=['accuracy'])
は、今私は、モデル内の各logit
精度を取得したい:ダイナミック、マルチストリームモデルであると考えられるように、それはforループが含まれています。しかし、print(model.metrics_names)
を適用することは、私に与えます(この例では3ストリームモデルである)以下:私はmodel.fit
機能から履歴オブジェクトを取得しようとすると、それは私に
KeyError: [-1] #Instead of the -1, it is respectively and of the lower list-indecies
を与え、今
['loss', 'activation_8_loss', 'activation_8_loss', 'activation_8_loss',
'activation_8_acc', 'activation_8_acc', 'activation_8_acc']
以下の方法で精度を取得しようとしましたが、いずれも機能しませんでした。
print(history.history['activation_8_acc'])
print(history.history['activation_8_acc'][-1])
print(history.history[-1])
個々の精度を取得するにはどうすればよいですか?可能であれば、このモデルの平均精度をどのように取得できますか?