14
votes

I recently installed Tensorflow for Windows. I am attempting a basic tutorial in which I need to access a folder containing sub-folders of images.

I am not able to access the folder of images because “access is denied”. This happens both in the Anaconda 4.2 prompt and in Pycharm, and using the basic Python 3.5 distribution.

I have given administrator privileges to everything involved and I reinstalled all of the software today so it is all updated to latest versions.

Any thoughts or help would be greatly appreciated!

# change this as you see fit
image_path = 'C:/moles'

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

"C:\Program Files\Anaconda3\python.exe" C:/Users/Ryan/Desktop/tfupdate/tf.py
    Traceback (most recent call last):

      File "C:/Users/Ryan/Desktop/tfupdate/tf.py", line 7, in <module>
        image_data = tf.gfile.FastGFile(image_path, 'rb').read()

      File "C:\Program Files\Anaconda3\lib\site-packages\tensorflow\python\lib\io\file_io.py", line 106, in read
        self._preread_check()

      File "C:\Program Files\Anaconda3\lib\site-packages\tensorflow\python\lib\io\file_io.py", line 73, in _preread_check
        compat.as_bytes(self.__name), 1024 * 512, status)

      File "C:\Program Files\Anaconda3\lib\contextlib.py", line 66, in __exit__
        next(self.gen)

      File "C:\Program Files\Anaconda3\lib\site-packages\tensorflow\python\framework\errors_impl.py", line 469, in raise_exception_on_not_ok_status
        pywrap_tensorflow.TF_GetCode(status))

    tensorflow.python.framework.errors_impl.UnknownError: NewRandomAccessFile failed to Create/Open: C:/moles : Access is denied.
    ; Input/output error

    Process finished with exit code 1
2
Is C:/moles the name of an image file? The cause of the error appears to be that C:/moles is a folder, but you are trying to read it like a file.mrry
Just you create moles directory in c drive and the error is solved.Manivannan Murugavel

2 Answers

5
votes

Give the path correctly /tf_files/retrained_labels.txt to your retrained_labels.txt path and same changes for /tf_files/retrained_graph.pb

0
votes

I faced similar problem with tensorflow- besides running command prompt as admin, I was getting permission denied, so here's how I got around-

  1. Make sure python installation is for all users on PC If not, try adding the path of your python installation to global environment variables of the PC and not user variable

  2. Run command prompt as administrator, enter command-

net user administrator /active:yes "password"

Replace the password with the password you want to give to the admin user

  1. From reboot menu, switch user to administrator, and then try the python classify.py command

It should work Let me know if it helps