参考这篇文章:
Using pre-trained inception_resnet_v2 with Tensorflow
我正在尝试使用inception_resnet_v2模型来获取图像的预测。因此,我查看了片段并尝试让它运行,但它说“input_tensor”没有定义。在提到的代码中是否有任何遗漏,或者任何人都可以得到一些提示让它运行/如何定义input_tensor变量?
以下是片段:
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))
由于
答案 0 :(得分:1)
代码段似乎缺少input_tensor
的任何定义。查看inception_resnet_v2()
函数的definition,张量在feed_dict
中使用的事实,以及图像大小为299 x 299的事实,您可以定义{ {1}}如下:
input_tensor