Python 使用已经训练过的神经网络?
我有一个已经训练过的神经网络,由文件NNbiases_b1.csv、NNbiases_out.csv、NNweights_h1.csv和NNweights_out.csv组成。输入和输出层的大小也是已知的 现在我正在寻找一个Python脚本,它使用这个神经元网络,意味着输出数据依赖于输入数据和经过训练的网络 但每当我在谷歌上搜索相关脚本时,我只能找到如何训练网络的方法和说明 所以我的问题是:当我有一个已经训练过的网络,上面有数据/文件时:我如何使用这个神经网络Python 使用已经训练过的神经网络?,python,keras,deep-learning,Python,Keras,Deep Learning,我有一个已经训练过的神经网络,由文件NNbiases_b1.csv、NNbiases_out.csv、NNweights_h1.csv和NNweights_out.csv组成。输入和输出层的大小也是已知的 现在我正在寻找一个Python脚本,它使用这个神经元网络,意味着输出数据依赖于输入数据和经过训练的网络 但每当我在谷歌上搜索相关脚本时,我只能找到如何训练网络的方法和说明 所以我的问题是:当我有一个已经训练过的网络,上面有数据/文件时:我如何使用这个神经网络 谢谢 我认为您需要重建模型的架构,
谢谢 我认为您需要重建模型的架构,然后手动设置每个层的权重,如下所示:
all_weights = []
NNweights_h1 = [...] #load your csv of weights
NNbiases_b1 = [...] #load your csv of biases
all_weights.append(NNweights_h1)
all_weights.append(NNbiases_b1)
model.layers[i].set_weights(all_weights)
对你所有的层都这样做
精确后更新
为了使用您的模型(虚拟示例):
- 重建架构:
def模型(模型输入): x=密集(12,输入尺寸=8,激活='relu')(型号输入) x=密集(1,激活='sigmoid')(x) model=model(model\u输入,x,name='Your\u model') 回归模型
- 实例化它:
X_test=[…]#加载数据 输入_shape=[…]#您的测试数据形状 模型输入=输入(形状=输入形状) 模型=模型(模型输入)
- 使用答案开头的代码手动设置权重
- 使用此模型预测您的数据:
prediction=model.predict(X#u测试)#获取模型的预测
我希望这对你有帮助 我绝对没有资格回答这个问题,但如果你想让别人回答,你需要更具体一些。你从哪里得到这些csv文件,它们看起来像什么?还有,你想做什么?对图像进行分类?生成某种文本?keras标签如何应用于此?您是想在keras中执行此操作,还是这些文件是用keras生成的?所有这些都会影响答案。@Addison输入和输出数据都只是浮点数。数据来自Keras,所以我想这也是在我的应用程序中使用它的最简单方法。它们包含——正如名称所说——权重_h1、偏差_b1、权重_out和偏差_out数据,这些数据由Keras@Addison为了澄清这一点:CSV文件包含由模型交付的结果。获取权重()。如果要在Keras中保存模型权重,应使用
model.save\u weights()
。这将保存为HDF5文件,您可以轻松加载。必须手动从csv文件加载这些值。使用model.save()
更容易,因为它也保存了模型结构。@Kurtiststreutker好的,回到我最初的问题:如何使用以这种方式保存的模型?好的,这回答了加载神经元网络的问题-但我如何使用它?意味着我如何应用我的输入数据,从哪里得到结果?