在keras API中将模型(先前已处理)加载到LSTM网络时,它是否会在网络中包含训练数据(显式)?
如果没有,那么(加载模型)如何帮助预测时间序列中的模式。
答案 0 :(得分:2)
from keras.models import Sequential
from keras_contrib.losses import import crf_loss
from keras_contrib.metrics import crf_viterbi_accuracy
# To save model
model.save('my_model_01.hdf5')
# To load the model
custom_objects={'CRF' : CRF,
'crf_loss' : crf_loss,
'crf_viterbi_accuracy': crf_viterbi_accuracy}
# To load a persisted model that uses the CRF layer
model1 = load_model("/home/abc/my_model_01.hdf5", custom_objects = custom_objects)
答案 1 :(得分:0)
因为任何神经网络(CNN,LSTM或其他)的目标是从火车数据(计算轮数)中学习并推广到任何数据(同一问题)。所以你只需要加载网络和轮廓的架构。
在keras中,简单的方法是使用以下方式保存/加载架构和轮次:
model.save('my_model.hdf5')
model.load('my_model.hdf5')
答案 2 :(得分:0)
将模型(先前已处理)加载到LSTM网络中 keras API会在网络中包含训练数据(显式)吗?
否model.save()
旨在排除已保存文件中的培训数据。
大多数情况下,在训练预测后保存模型。在预测案例中,您不再需要原始数据,因为模型基于训练的权重进行预测,这些权重与模型一起保存,这基本上是定义模型的图层列表。 model.summary()
描述了keras对模型的了解非常好。
如果没有,这将如何(负载模型)有助于预测模式 在时间序列中。
model.save()
基本保存两件事:
模型的权重是您的培训的产物,是"知识"您的模型在培训期间实现,这是预测新样本所必需的。