2016-09-30 36 views
0

我在測試神經網絡初始版本v3和Tensorflow時遇到了一個錯誤。神經網絡初始版本v3不會創建標籤

我avtivated和訓練模式這種方式與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 

這給了我以下錯誤:

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

Kiwi是包含圖像的文件夾。另一個名爲Apples的文件夾給了我沒有錯誤。但也許它發生是因爲它包含少於20個圖像。而且它不會創建一個名爲retrained_labels.txt的文件。

所以當執行下面的命令時,它給了我一個錯誤,說它找不到上面提到的文件。

python image_label.py apple.jpg 

一切都在它的文件夾和image_label.py內容是:

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)) 

回答

0

我解決它。該錯誤發生在,因爲該文件夾沒有足夠的圖像來訓練。所以在將圖像的數量從14增加到38之後,它給了我預測!

+0

你能否將原始問題標記爲已回答? –