我有一个受过训练的神经网络,由文件NNbiases_b1.csv,NNbiases_out.csv,NNweights_h1.csv和NNweights_out.csv组成。输入和输出层的大小也是已知的。
现在,我正在寻找使用该神经元网络的Python脚本,这意味着输出数据取决于输入数据和受过训练的网络。
但是,每当我用Google搜索相关脚本时,我只会找到有关培训网络的方法和解释!
所以,我的问题是:当我已经有了一个经过训练的网络时,上面的数据/文件是:我该如何使用该神经元网络?
谢谢!
答案 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
希望这对您有帮助!