神经网络初始版本v3不创建标签(Neural Network Inception v3 doesn't create labels)
我在测试神经网络初始版本v3和Tensorflow时遇到了一个错误。
我用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:标签kiwi在类别测试中没有图像。
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))
I am facing an error with testing the Neural Network Inception v3 and Tensorflow.
I avtivated and trained the model this way with 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
Which gave me the following error:
CRITICAL:tensorflow:Label kiwi has no images in the category testing.
Kiwi
is a folder which contains images. The other folder calledApples
gave me no error. But maybe it occurs because it contains less than 20 images. And it doesn't create a file calledretrained_labels.txt
.So when executing following following command it gives me an error saying it couldn't find the file, which is mentioned above.
python image_label.py apple.jpg
Everything is in it's folders and the content of
image_label.py
is: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))
原文:https://stackoverflow.com/questions/39786320