使用已经训练有素的神经网络?

时间:2019-06-04 15:50:44

标签: python keras deep-learning

我有一个受过训练的神经网络,由文件NNbiases_b1.csv,NNbiases_out.csv,NNweights_h1.csv和NNweights_out.csv组成。输入和输出层的大小也是已知的。

现在,我正在寻找使用该神经元网络的Python脚本,这意味着输出数据取决于输入数据和受过训练的网络。

但是,每当我用Google搜索相关脚本时,我只会找到有关培训网络的方法和解释!

所以,我的问题是:当我已经有了一个经过训练的网络时,上面的数据/文件是:我该如何使用该神经元网络?

谢谢!

1 个答案:

答案 0 :(得分:2)

我认为您需要重建模型的体系结构,然后使用类似的方法手动设置每一层的权重:

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 model(model_input):
    
    
        x = Dense(12, input_dim=8, activation='relu')(model_input)
        x = Dense(1, activation='sigmoid')(x)
    
        model = Model(model_input, x, name='Your_model')
    
        return model
    
  • 实例化:

    X_test = [...] #load your data
    input_shape = [...] #your test data shape
    model_input = Input(shape=input_shape)
    model = model(model_input)
    
  • 在答案开头使用代码手动设置权重

  • 使用此模型预测数据:

    prediction = model.predict(X_test)  #get the predictions of your model 
    

希望这对您有帮助!