Python 如何在新数据集中测试深度学习模型

Python 如何在新数据集中测试深度学习模型,python,keras,deep-learning,Python,Keras,Deep Learning,我训练并测试了一个模型。让我们把它命名为model1 现在我想在一个新的数据集上测试model1。 因此,我使用H5保存模型,然后将保存的model1加载到新笔记本中,并使用新数据集对其进行测试 我做的程序对吗 我应该什么时候保存model1? 我看到两种选择 经过培训程序 试验程序之后 虽然有许多方法可以设计模型的培训方案,但典型的概述可能如下所示: 使用训练数据训练模型 在每个训练周期或历元结束时使用验证集 使用测试集测试模型的性能 请注意,在完成培训和验证步骤之前,模型不会看到测试集。

我训练并测试了一个模型。让我们把它命名为
model1

现在我想在一个新的数据集上测试
model1
。 因此,我使用
H5
保存模型,然后将保存的
model1
加载到新笔记本中,并使用新数据集对其进行测试

我做的程序对吗

我应该什么时候保存
model1
? 我看到两种选择

  • 经过培训程序
  • 试验程序之后

  • 虽然有许多方法可以设计模型的培训方案,但典型的概述可能如下所示:

    • 使用训练数据训练模型
    • 在每个训练周期或历元结束时使用验证集
    • 使用测试集测试模型的性能
    请注意,在完成培训和验证步骤之前,模型不会看到测试集。有一篇文章专门讨论这个话题

    保存模型的时间完全取决于您。事实上,您可以使用特定的方法使Keras或TensorFlow在训练周期内定期保存模型。简言之,对于何时保存模型没有经验法则——这实际上取决于您的目标。但据我所知,从你的描述,一切似乎都是正确的:你训练了你的模型,保存了它,并将它加载到一个单独的Jupyter笔记本中进行测试


    请注意,您可以在创建和测试初始模型的同一个笔记本中测试该模型。如果您愿意,还可以在新笔记本上继续训练加载的型号。

    谢谢JST99。我正在处理人类活动识别问题。当我训练和测试model1,然后用新的数据集再次测试它时,性能非常好。但是当我只训练model1而不进行测试,然后保存它,然后加载并测试一个新的数据集时,执行情况非常糟糕。因此,我认为您对初始模型(此处为model1)所做的决定与新数据集上的性能有关,但就目前而言,没有关于保存的经验法则。我认为,对于我的问题,最好的选择是在新的jupyter中对测试保存模型1加载模型1,然后使用新数据集再次测试,很高兴它有所帮助。在你的情况下,任何最有效的方法都应该成为解决方案。我只想补充一点,并且说,在调用
    model.fit
    时,最好有一个验证方案,这样您就可以在模型经过培训时监控其性能。然后,您可以使用测试集调用类似于
    model.evaluate
    的东西,并对您的模型进行最终评估。