如何使用经过训练的神经网络创建的权重矩阵在另一个文件中进行预测?

Posted

技术标签:

【中文标题】如何使用经过训练的神经网络创建的权重矩阵在另一个文件中进行预测?【英文标题】:How can I use a weight matrix created by a trained neural network to make predictions in another file? 【发布时间】:2018-12-31 03:15:06 【问题描述】:

我已经使用 keras 训练了一个神经网络分类器,目前它的预测准确率为 90%。我想对另一个文件进行预测,而不必包含整个模型。是否可以仅使用输出权重矩阵进行预测?即,在数学上,我如何使用权重矩阵进行相同的分类,而不必在每次获得需要分类预测的新数据输入时重新训练模型?

【问题讨论】:

这称为“预测”或“推理”,并在您的框架的文档中进行了介绍。 【参考方案1】:

保存您的模型或模型的权重:

model.save(filename)
np.save(filename, model.get_weights())

对于加载,在第一种情况下:

from keras.models import load_model
model = load_model(filename)

第二种情况:

#recreate the model then:
model.set_weights(np.load(filename))

然后:

results = model.predict(batch_of_data)

【讨论】:

以上是关于如何使用经过训练的神经网络创建的权重矩阵在另一个文件中进行预测?的主要内容,如果未能解决你的问题,请参考以下文章

如何正确提取 Keras ConvNet 权重矩阵以在 Excel 中使用?

Python scikit-learn:导出经过训练的分类器

将权重导入opencv MLP?

如何获得经过训练的 LDA 分类器的特征权重

word2vec高效训练方法

神经网络 - 更新权重矩阵 - 反向传播算法