首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在将来使用训练好的模型

如何在将来使用训练好的模型
EN

Stack Overflow用户
提问于 2019-01-15 09:53:04
回答 3查看 3.3K关注 0票数 0

我是数据科学的新手,我还在学习机器学习。我知道我们可以根据应用程序使用RegressionClassificationClusteringANNCNNRNN等模型。

我们在PC机上对这些模型进行编码、训练和预测。一些模型也需要花费大量的时间进行训练。在那之后,我们关闭了PC。

如果我想在几天后使用相同的数据集使用相同的模型,请再次打开PC并训练相同的模型。

我想知道如何在没有训练的情况下使用训练过的模式,一次又一次,每次PC打开。我问的主要是ANNCNNRNN型号。

另外,我想知道modal的权重值存储在哪里,因为权重没有存储在变量中。我如何才能找到它,并且不能使用这些经过训练的权重数据在未来提供ANN

EN

回答 3

Stack Overflow用户

发布于 2019-01-15 10:04:59

通常,简单的模型(例如Logistic回归、决策树)不会花费大量的时间进行训练,这显然取决于训练它们的数据的大小。

另一方面,深度学习模型往往有很高的训练时间。一种常见的技术是使用HDF5文件格式保存经过训练的模型。如果您感兴趣,您可以查看此link以了解有关格式的更多信息。

要做到这一点,最简单的方法可能是使用Keras的内置函数model.save

代码语言:javascript
复制
from keras.models import load_model

model = train_neural_network() # Train your model

model.save('my_model.h5')  # creates a HDF5 file 'my_model.h5'
model = load_model('my_model.h5') # Load your saved model and use it on whatever data you want

由于您是一名数据科学初学者,如果您对该领域有一些基础知识,并且想要直接开始深度学习,我建议您使用谷歌的协作实验室(link)。

每个用户都会被分配一个虚拟机,其中的硬件是专门为涉及深度学习的任务构建的。它包含了运行神经网络所需的大多数依赖项。

票数 1
EN

Stack Overflow用户

发布于 2019-01-15 10:18:05

保存一个功能齐全的模型非常有用--你可以加载它们。在TensorFlow中,您可以将整个模型保存到一个文件中,该文件包含权重值、模型的配置,甚至优化器的配置。您可以执行以下操作:

model.save('ModelName.model')

此外,Keras使用HDF5标准提供了基本的保存格式。

#Save entire model to a HDF5 file model.save('my_model.h5')

有关更多详细信息,请查看documentation

例如,对于权重,如果您的二进制分类器在0标签中的数量是1标签中的两倍,则可以在拟合模型时设置它们,如下所示:

代码语言:javascript
复制
 Class_Weights = {0: 1., 1: 2} #twice as many 0 as 1

 #fit model and pass weights
 model.fit(X, y, class_weight=Class_Weights
           batch_size=20, epochs=5, validation_split=0.3,)
票数 1
EN

Stack Overflow用户

发布于 2019-01-15 13:43:02

如果只使用TensorFlow,可以使用SavedModel接口。这是Tom's answer。此外,您还可以在github by Wen中找到一个示例

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54191700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档