【问题标题】:tensorflow.python.framework.errors_impl.NotFoundError while creating a custom inceptiontensorflow.python.framework.errors_impl.NotFoundError 在创建自定义初始时
【发布时间】:2017-08-13 05:16:40
【问题描述】:

我使用以下代码使用 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))

执行此操作时出现以下错误

('Interesting class: ', []) Traceback (last last call last): 文件 “/Users/Downloads/imagenet_train-master/label_dir.py”,第 22 行,在 在 tf.gfile.GFile("/tf_files/retrained_labels.txt")] 文件 "/Users/tensorflow/lib/python2.7/site-packages/tensorflow/python/lib/io/file_io.py", 第 156 行,在下一个 retval = self.readline() 文件“/Users/tensorflow/lib/python2.7/site-packages/tensorflow/python/lib/io/file_io.py”, 第 123 行,在 readline 中 self._preread_check() 文件“/Users/tensorflow/lib/python2.7/site-packages/tensorflow/python/lib/io/file_io.py”, 第 73 行,在 _preread_check compat.as_bytes(self.name), 1024 * 512, status) 文件 "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/contextlib.py", 第 24 行,在 __exit self.gen.next() 文件“/Users/tensorflow/lib/python2.7/site-packages/tensorflow/python/framework/errors_impl.py”, 第 466 行,在 raise_exception_on_not_ok_status pywrap_tensorflow.TF_GetCode(status)) tensorflow.python.framework.errors_impl.NotFoundError: /tf_files/retrained_labels.txt

为什么会出现这个错误?

以下是我的文件夹结构:

tensorflow_try
|- new_pics
|  |- class1
|  |- class2
|  |- ...
|- toScan
|- scanned

【问题讨论】:

  • 您的代码看起来不错。我认为您为 restricted_labels.pb 以及您的图像数据文件提供的路径可能存在问题。再仔细看看它。它可能会整理出来问题
  • 我已经用文件夹结构更新了我的问题
  • 如果您 p​​lzz,请发送您的重新培训声明。我认为那里可能存在问题......

标签: python machine-learning tensorflow


【解决方案1】:

问题出在这一行:

label_lines = [line.rstrip() for line 
                   in tf.gfile.GFile("/tf_files/retrained_labels.txt")]

请检查:

  1. 文件系统根目录下tf_files文件夹是否存在——你可以运行ls /tf_files来检查;
  2. (如果第 1 项没问题)如果您对 /tf_files/retrained_labels.txt 有读/写权限。

【讨论】:

  • 我遇到了同样的问题,不得不对 label_image.py 文件进行小幅更新。 Micael 提到的那行在 Tensorflow for Poets 网站上的 tf_files 前面缺少了一个 /
猜你喜欢
  • 1970-01-01
  • 2019-11-28
  • 1970-01-01
  • 1970-01-01
  • 2020-11-07
  • 2016-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多