tensorflow.питон.рамки.ошибки осущ.NotFoundError при создании пользовательского начала
Im, используя следующий код для создания пользовательского начала с помощью tensorflow.
import tensorflow as tf
import sys
interesting_class = sys.argv[1:]
print("Interesting class: ", interesting_class)
# Read in the image_data
from os import listdir
from shutil import copyfile
from os.path import isfile, join
varPath = 'toScan/'
destDir = "scanned/"
imgFiles = [f for f in listdir(varPath) if isfile(join(varPath, f))]
# 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')
file_count = len(imgFiles)
i = 0
for imageFile in imgFiles:
print("File ", i, " of ", file_count)
i = i+1
image_data = tf.gfile.FastGFile(varPath+"/"+imageFile, 'rb').read()
print (varPath+"/"+imageFile)
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]
firstElt = top_k[0];
newFileName = label_lines[firstElt] +"--"+ str(predictions[0][firstElt])[2:7]+".jpg"
print(interesting_class, label_lines[firstElt])
if interesting_class == label_lines[firstElt]:
print(newFileName)
copyfile(varPath+"/"+imageFile, destDir+"/"+newFileName)
for node_id in top_k:
human_string = label_lines[node_id]
score = predictions[0][node_id]
print (node_id)
print('%s (score = %.5f)' % (human_string, score))
Im получает следующую ошибку при выполнении этого
('Interesting class:', []) Traceback (последний последний вызов): File "/Users/Downloads/imagenet_train-master/label_dir.py", строка 22, in в ТФ.gfile.GFile ("/tf_files/retrained_labels.txt")] файл " /Users/tensorflow/lib/python2.7/site-packages/tensorflow/python/lib/io/file_io.py", линия 156, в следующем ратавалі = собственн.файл readline () " /Users/tensorflow/lib/python2.7/site-packages/tensorflow/python/lib/io/file_io.py", линия 123, в с readline личность._preread_check () File " /Users/tensorflow/lib/python2.7/site-packages/tensorflow/python/lib/io/file_io.py", строка 73, in _preread_check компат.as_bytes (self. name), 1024 * 512, статус) файл "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/contextlib.py", строка 24, в _ _ exit личность.ген.next () File " /Users/tensorflow/lib/python2.7/site-packages/tensorflow/python/framework/errors_impl.py", строка 466, в raise_exception_on_not_ok_status pywrap_tensorflow.Tf_getcode (статус)) tensorflow.питон.рамки.errors_impl.NotFoundError: /tf_files/retrained_labels.txt
почему я получаю эту ошибку?
Ниже приведена моя структура папок:
tensorflow_try
|- new_pics
| |- class1
| |- class2
| |- ...
|- toScan
|- scanned
1 ответов
проблема исходит из этой строки:
label_lines = [line.rstrip() for line
in tf.gfile.GFile("/tf_files/retrained_labels.txt")]
пожалуйста, проверьте:
- существование папки
tf_files
в корень файловой системы, вы можете запуститьls /tf_files
чтобы проверить это; - (если пункт 1 в порядке), если у вас есть разрешение на чтение/запись на
/tf_files/retrained_labels.txt
.