Verwendung von vorab trainiertem inception_resnet_v2 mit Tensorflow
Ich habe versucht, das von Google veröffentlichte vorgeübte inception_resnet_v2-Modell zu verwenden. Ich verwende ihre Modelldefinition https: //github.com/tensorflow/models/blob/master/slim/nets/inception_resnet_v2.p) und gegebener Checkpoint http: //download.tensorflow.org/models/inception_resnet_v2_2016_08_30.tar.g) zum Laden des Modells im Tensorflow wie folgt [Laden Sie die Checkpoint-Datei herunter und laden Sie die Beispielbilder dog.jpg und panda.jpg herunter, um diesen Code zu testen] -
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))
Die Ergebnisse dieses Modellcodes liefern jedoch nicht die erwarteten Ergebnisse (Klasse 918 wird unabhängig vom eingegebenen Bild vorhergesagt). Kann mir jemand helfen zu verstehen, wo ich falsch liege?
Vielen Dank