如何在tensorflow会话中运行Keras.model()进行预测?

时间:2018-05-10 09:41:25

标签: python tensorflow keras

我目前遇到了一个问题,同时在张量流会话中执行我的模型预测keras。

with tf.Session(graph=graph) as sess:
    sess.run(tf.global_variables_initializer())
    ## want to know how to add model.predict() inside this condition
    predictions = model.predict(#my_model)
    #predictions output is same not appending

或任何替代方法都会有所帮助。

任何帮助都将不胜感激。

4 个答案:

答案 0 :(得分:4)

from keras import backend as K

with tf.Graph().as_default():

    with tf.Session() as sess:

        K.set_session(sess)
        model = load_model(model_path)
        preds = model.predict(in_data)

答案 1 :(得分:1)

dependency_overrides:
  flutter_svg: '0.5.1'

上面的代码对我有用。我在tensorflow内部使用了keras mobilenet。

答案 2 :(得分:0)

必须先声明占位符。然后加载模型

 input_img = tf.placeholder(tf.float32, 
                      (1,12,8,3), name = 'image')
 CnnClassifier=tf.keras.models.load_model('model.h5',custom_objects 
                                     =None,compile = True) 
 output  = CnnClassifier(input_img)

with tf.Session() as sess:
    sess.run(tf.global_variables_intializer())
    output_val = sess.run(output, 
                {input_img:np.expend_dims(img,0)})

答案 3 :(得分:0)

如果我没记错的话可以替换

with tf.Session() as sess:

简单地

sess = K.get_session()

(K是keras.backend导入的)