如何在keras中获得一定精度的步数?

数据挖掘 喀拉斯 张量流 准确性 时代
2022-02-17 23:56:04

我想看看我的模型需要多少步才能达到一定的准确性。在 cifar10 上说 90%。如何从 keras 模型中获取这些信息?

编辑: 每个时期的准确性都可以在历史对象 fit() 返回中访问,但我正在寻找每一步的准确性

解决方案:

我做了一个回调对象,在每一步都保持损失

import pickle
from tensorflow.keras.callbacks import Callback

class LossHistory(Callback):
    def __init__(self,path='',name=''):
        super(Callback, self).__init__()
        self.path = path
        self.name=name
        self.accuracy = []
        self.losses=[]
    
    def on_batch_end(self, batch, logs={}):
        self.accuracy.append(logs.get('accuracy'))
        self.losses.append(logs.get('loss'))
    
        history_={}
        history_['accuracy']=self.accuracy
        history_['loss']=self.losses
    
        with open(self.path+self.name+'_history.pkl', 'wb') as f:
            pickle.dump(history_,f)
1个回答

当您使用.fit()调用训练模型时,它实际上返回一个名为 的对象history使用history = model.fit(x_train, y_train...)代替训练模型,然后在训练完成后,您可以访问history.history字典以查看此类信息。

有关更多信息,请参阅https://machinelearningmastery.com/display-deep-learning-model-training-history-in-keras/