2016-12-30 8 views
1

使用:inceptionv4モデルをロードした後https://github.com/tensorflow/models/tree/master/slimTensorflow:私はこれらのpretrained tensorflowモデルのいずれかを使用したいpretrained創業モデル

を、私はいくつかのテストの予測に問題がありました。 同様の質問があります。Using pre-trained inception_resnet_v2 with Tensorflow

この問題では、解決策は画像の前処理を修正することでした。で

checkpoint_file = '..\checkpoints\inception_resnet_v2_2016_08_30.ckpt' 
sample_images = ['horse.jpg', 'hound.jpg'] 
sess = tf.Session() 

im_size = 299 
inception_v4.default_image_size = im_size 

arg_scope = inception_utils.inception_arg_scope() 
inputs = tf.placeholder(tf.float32, (None, im_size, im_size, 3)) 

with slim.arg_scope(arg_scope): 
    net, logits, end_points = inception_v4(inputs) 

saver = tf.train.Saver() 

saver.restore(sess,'..\checkpoints\inception_v4.ckpt') 

for image in sample_images: 
    im = Image.open(image) 
    im = im.resize((299, 299)) 
    im = np.array(im) 
    im = im.reshape(-1, 299, 299, 3) 
    im = 2. * (im/255.) - 1. 
    logit_values = sess.run(logits, feed_dict={inputs: im}) 
    print(np.max(logit_values)) 
    print(np.argmax(logit_values)) 

: 私は0から1まで-1からここで1

にカラーチャンネルのための範囲を使用してみましたが(私はinceptionv4ソースファイルからすべてをインポートした)私のコードですコード、私は馬でネットワークをテストしています。これが写真です。 enter image description here

現在の前処理では、カラーチャネルが-1から1までで、ネットワークはこの馬が入浴キャップであると考えます。 0から1へのスケーリングのために、それは明らかに小さな鳥です。 私はこの表を使用して予測クラスを見つけました:https://gist.github.com/aaronpolhamus/964a4411c0906315deb9f4a3723aac57

私は複数の画像もチェックしました。ネットワークは一貫してオフになっています。

何が問題になりますか?

答えて

1

Imagenetに間違ったsynsetsを使用したと思います。具体的には、使用したものは2012バージョンです。あなたはこれらの2つを試してみてください:imagenet_lsvrc_2015_synsets.txtimagenet_metadata。例えば

あなたの出力は340、そして340-> n02389026->スイバ

0

であれば、私は間違っsynsetのために同意するだろう、それは自動的に、imagenetファイルをあなたの持っているのは確実だそのようにダウンロードすることができます正しいもの:

関連する問題