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