web-dev-qa-db-fra.com

Comment exécuter Keras.model () pour la prédiction dans une session tensorflow?

Je rencontre actuellement un problème lors de l'exécution de mon modèle de prévision de keras dans une session tensorflow.

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

ou toute autre méthode sera utile.

Toute aide serait appréciée.

3
Balaji
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)
2
TaeWoo

Il faut d'abord déclarer un espace réservé .. puis charger le modèle

 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)})
0
Tamil Selvan S
from keras.models import load_model
with tf.Session(graph=K.get_session().graph) as session:
    session.run(tf.global_variables_initializer())
    model = load_model('model.h5')
    predictions = model.predict(input)

Le code ci-dessus fonctionne pour moi. J'utilise keras mobilenet dans tensorflow.

0
Isam Abdullah

Si je ne me trompe pas, vous pouvez remplacer

with tf.Session() as sess:

simplement par

sess = K.get_session()

(K est importé de keras.backend)

0
Ply