gpt4 book ai didi

python - Keras:检索每个模型输出的准确性

转载 作者:太空宇宙 更新时间:2023-11-03 15:13:55 24 4
gpt4 key购买 nike

我目前正在实现具有多个输入和输出的 Keras 模型。输入和输出的数量相同。

我的代码的输出部分如下所示。它包含 for 循环,因为它应该是动态的多流模型:

...
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 的准确性。但是,应用 print(model.metrics_names) 会给出以下结果(在本示例中是 3 流模型):

['loss', 'activation_8_loss', 'activation_8_loss', 'activation_8_loss', 
'activation_8_acc', 'activation_8_acc', 'activation_8_acc']

现在,当我尝试从 model.fit 函数检索历史对象时,它给了我一个

KeyError: [-1] #Instead of the -1, it is respectively and of the lower list-indecies

我尝试使用以下方法检索准确性,但没有一个有效。

print(history.history['activation_8_acc'])
print(history.history['activation_8_acc'][-1])
print(history.history[-1])

如何检索个人准确度?或者如果可能的话,我如何检索该模型的平均准确度?

最佳答案

我添加了一行print(history.history),其输出:

'activation_8_loss_3': [1.3723259580135345], 'loss': [4.1188646435737608], 'activation_8_loss_1': [1.3680831426382065], 'activation_8_loss_2': [1.37177708029747], 'activation_8_acc_1': [0.46729998335242273] ...

这表明 print(model.metrics_names) 并没有讲述整个故事。

关于python - Keras:检索每个模型输出的准确性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44024725/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com