Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用已经训练过的神经网络?_Python_Keras_Deep Learning - Fatal编程技术网

Python 使用已经训练过的神经网络?

Python 使用已经训练过的神经网络?,python,keras,deep-learning,Python,Keras,Deep Learning,我有一个已经训练过的神经网络,由文件NNbiases_b1.csv、NNbiases_out.csv、NNweights_h1.csv和NNweights_out.csv组成。输入和输出层的大小也是已知的 现在我正在寻找一个Python脚本,它使用这个神经元网络,意味着输出数据依赖于输入数据和经过训练的网络 但每当我在谷歌上搜索相关脚本时,我只能找到如何训练网络的方法和说明 所以我的问题是:当我有一个已经训练过的网络,上面有数据/文件时:我如何使用这个神经网络 谢谢 我认为您需要重建模型的架构,

我有一个已经训练过的神经网络,由文件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好的,回到我最初的问题:如何使用以这种方式保存的模型?好的,这回答了加载神经元网络的问题-但我如何使用它?意味着我如何应用我的输入数据,从哪里得到结果?