小编shk*_*val的帖子

无法加载和使用多个keras模型

我正在尝试在同一个过程中加载三个不同的模型.只有第一个按预期工作,其余的返回就像随机结果一样.基本上订单如下:

  • 定义并编译第一个模型
  • 之前加载训练过的重量
  • 重命名图层
  • 第二个模型的过程相同
  • 第三个模型的过程相同

所以,像:

model1 = Model(inputs=Input(shape=input_size_im) , outputs=layers_firstmodel)
model1.compile(optimizer='sgd', loss='mse')
model1.load_weights(weights_first, by_name=True)
# rename layers but didn't work

model2 = Model(inputs=Input(shape=input_size_im) , outputs=layers_secondmodel)
model2.compile(optimizer='sgd', loss='mse')
model2.load_weights(weights_second, by_name=True)
# rename layers but didn't work

model3 = Model(inputs=Input(shape=input_size_im) , outputs=layers_thirdmodel)
model3.compile(optimizer='sgd', loss='mse')
model3.load_weights(weights_third, by_name=True)
# rename layers but didn't work

for im in list_images:
    results_firstmodel = model1.predict(im) 
    results_secondmodel = model2.predict(im) 
    results_thirdmodel = model2.predict(im) 
Run Code Online (Sandbox Code Playgroud)

我想对一堆图像进行一些推断.要做到这一点,这个想法包括循环图像并使用这三种算法进行推理,并返回结果.

我试图重命名所有图层,使它们独一无二,但没有成功.我还为每个网络创建了一个不同的图形,并使用不同的会话进行推理.这有效,但效率非常低(另外我必须每次都设置它们的权重,因为sess.run(tf.global_variables_initializer())它们会被删除).每次创建会话时,tensorflow都会打印"创建tensorflow设备(/ device:GPU:0)".

我正在运行Tensorflow 1.4.0-rc0,Keras 2.1.1和Ubuntu 16.04内核4.14.

python keras tensorflow

7
推荐指数
1
解决办法
3647
查看次数

标签 统计

keras ×1

python ×1

tensorflow ×1