2016-10-12 1 views
1

En ce qui concerne ce poste:tensorflow inférence inception_v2_resnet

Using pre-trained inception_resnet_v2 with Tensorflow

J'essaie d'utiliser le modèle de inception_resnet_v2 pour obtenir des prédictions d'images aussi. Par conséquent, j'ai regardé l'extrait et j'ai essayé de le faire fonctionner, mais il est dit que "input_tensor" n'est pas défini. Y at-il quelque chose qui manque dans le code mentionné ou quelqu'un peut-il me donner un indice pour le faire fonctionner/comment définir la variable input_tensor?

Voici l'extrait à nouveau:

import tensorflow as tf 
slim = tf.contrib.slim 
from PIL import Image 
from inception_resnet_v2 import * 
import numpy as np 

checkpoint_file = 'inception_resnet_v2_2016_08_30.ckpt' 
sample_images = ['dog.jpg', 'panda.jpg'] 
#Load the model 
sess = tf.Session() 
arg_scope = inception_resnet_v2_arg_scope() 
with slim.arg_scope(arg_scope): 
    logits, end_points = inception_resnet_v2(input_tensor, is_training=False) 
saver = tf.train.Saver() 
saver.restore(sess, checkpoint_file) 
for image in sample_images: 
    im = Image.open(image).resize((299,299)) 
    im = np.array(im) 
    im = im.reshape(-1,299,299,3) 
    predict_values, logit_values = sess.run([end_points['Predictions'],logits], feed_dict={input_tensor: im}) 
    print (np.max(predict_values), np.max(logit_values)) 
    print (np.argmax(predict_values), np.argmax(logit_values)) 

Merci

Répondre

1

L'extrait de code semble manquer une définition pour input_tensor. En regardant la definition de la fonction inception_resnet_v2(), le fait que le tenseur est utilisé dans un feed_dict, et le fait que la taille de l'image est de 299 x 299, vous pouvez définir input_tensor comme suit:

input_tensor = tf.placeholder(tf.float32, [None, 299, 299, 3]) 
+0

Merci, Ça marche! – mimie