2016-09-30 5 views
0

Ich bin mit einem Fehler beim Testen der Neural Network Inception v3 und Tensorflow konfrontiert.Neural Network Inception v3 erstellt keine Labels

I avtivated und trainiert das Modell auf diese Weise mit Python:

source tf_files/tensorflow/bin/activate 
python tf_files/tensorflow/examples/image_retraining/retrain.py --bottleneck_dir=tf_files/bottlenecks --how_many_training_steps 500 --model_dir=tf_files/inception --output_graph=tf_files/retrained_graph.pb --output_labels=tf_files/retrained_labels.txt --image_dir tf_files/data 

die mir die folgenden Fehler gab:

CRITICAL:tensorflow:Label kiwi has no images in the category testing.

Kiwi ist ein Ordner, der Bilder enthält. Der andere Ordner namens Apples gab mir keinen Fehler. Aber vielleicht kommt es vor, weil es weniger als 20 Bilder enthält. Und es erstellt keine Datei namens retrained_labels.txt.

Also beim Ausführen folgenden folgenden Befehl gibt es mir eine Fehlermeldung, dass es die Datei nicht finden konnte, die oben erwähnt wird.

python image_label.py apple.jpg 

Alles ist in seinen Ordner und der Inhalt image_label.py ist:

import tensorflow as tf 
import sys 

# change this as you see fit 
image_path = sys.argv[1] 

# Read in the image_data 
image_data = tf.gfile.FastGFile(image_path, 'rb').read() 

# Loads label file, strips off carriage return 
label_lines = [line.rstrip() for line 
       in tf.gfile.GFile("tf_files/retrained_labels.txt")] 

# Unpersists graph from file 
with tf.gfile.FastGFile("tf_files/retrained_graph.pb", 'rb') as f: 
graph_def = tf.GraphDef() 
graph_def.ParseFromString(f.read()) 
_ = tf.import_graph_def(graph_def, name='') 

with tf.Session() as sess: 
# Feed the image_data as input to the graph and get first prediction 
softmax_tensor = sess.graph.get_tensor_by_name('final_result:0') 

predictions = sess.run(softmax_tensor, \ 
     {'DecodeJpeg/contents:0': image_data}) 

# Sort to show labels of first prediction in order of confidence 
top_k = predictions[0].argsort()[-len(predictions[0]):][::-1] 

for node_id in top_k: 
    human_string = label_lines[node_id] 
    score = predictions[0][node_id] 
    print('%s (score = %.5f)' % (human_string, score)) 

Antwort

0

ich es gelöst. Der Fehler ist aufgetreten, weil der Ordner nicht genügend Bilder zum Trainieren mit hatte. Also, nachdem ich die Anzahl der Bilder von 14 auf 38 erhöht habe, gibt es mir die Vorhersagen!

+0

können Sie die ursprüngliche Frage als beantwortet markieren? –

Verwandte Themen