2016-11-29 17 views
0

Tensor Flowがインストールされていませんので、私はtensorflow.examplesを持っていないので、GitHubからinput_dataを取得しました。どのように私は次のエラーを取得しています。PermissionError:[Errno 13] input_data.read_data_sets(..)を実行しているときにパーミッションが拒否されました

PermissionError: [Errno 13] Permission denied: 'C:\Users\Nikhil\AppData\Local\Temp\tmp5gr8f26y'

これは私のコードです。

import input_data 
mnist = input_data.read_data_sets("/MNIST_data/", one_hot = True) 

どのようにこの問題を解決できますか?まったく同じ問題を扱う別のスレッドがありますが、その解決策は私の問題を解決しませんでした。私は今どうすればいい? input_data.pyファイルはプロジェクトのディレクトリにあります。プロジェクトディレクトリは次のようになります。

tensor_flow 
      | 
      tf.py 
      input_data.py 

私は、スタックオーバーフローで説明したすべての手段を試して使い果たしました。重複は避けてください。

runfile('C:/Users/Nikhil/Desktop/Tensor Flow/tensf.py', wdir='C:/Users/Nikhil/Desktop/Tensor Flow') Traceback (most recent call last):

File "", line 1, in runfile('C:/Users/Nikhil/Desktop/Tensor Flow/tensf.py', wdir='C:/Users/Nikhil/Desktop/Tensor Flow')

File "C:\Users\Nikhil\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 866, in runfile execfile(filename, namespace)

File "C:\Users\Nikhil\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile exec(compile(f.read(), filename, 'exec'), namespace)

File "C:/Users/Nikhil/Desktop/Tensor Flow/tensf.py", line 26, in mnist = input_data.read_data_sets("MNIST_data/", one_hot = True)

File "C:\Users\Nikhil\Anaconda3\lib\site-packages\tensorflow\contrib\learn\python\learn\datasets\mnist.py", line 211, in read_data_sets SOURCE_URL + TRAIN_IMAGES)

File "C:\Users\Nikhil\Anaconda3\lib\site-packages\tensorflow\contrib\learn\python\learn\datasets\base.py", line 141, in maybe_download urllib.request.urlretrieve(source_url, temp_file_name)

File "C:\Users\Nikhil\Anaconda3\lib\urllib\request.py", line 198, in urlretrieve tfp = open(filename, 'wb')

PermissionError: [Errno 13] Permission denied: 'C:\Users\Nikhil\AppData\Local\Temp\tmpry0jmpiu'

+0

@MohammadYusufGhaziこれはこれと関係がありません... –

+0

完全なスタックトレースですか? – MYGz

+0

@MohammadYusufGhaziいいえ、完全なスタックトレースはmnist = input_data.read_data_sets(...)を指しています –

答えて

0

これはread_data_sets()関数です:このコードを実行しようとしているこの関数内で

def read_data_sets(train_dir, 
        fake_data=False, 
        one_hot=False, 
        dtype=dtypes.float32, 
        reshape=True, 
        validation_size=5000): 

TRAIN_IMAGES = 'train-images-idx3-ubyte.gz' 
TRAIN_LABELS = 'train-labels-idx1-ubyte.gz' 
TEST_IMAGES = 't10k-images-idx3-ubyte.gz' 
TEST_LABELS = 't10k-labels-idx1-ubyte.gz' 

local_file = base.maybe_download(TRAIN_IMAGES, train_dir, 
           SOURCE_URL + TRAIN_IMAGES) 
with open(local_file, 'rb') as f: 
    train_images = extract_images(f) 

maybe_download()は、あなたのWindowsのTempディレクトリにファイルをダウンロードしています次にそれにアクセスしようとしています。

しかし、許可が制限されているなどの理由で、そのファイルを読み取ることができません。

だから私が推測するファイルのアクセス権を試してみてください。私はLinux上にいるか、あなたのためにそれをテストしたでしょう。

回避策は、現在の作業フォルダに手動でデータをダウンロードすることです。

がこの場所内のディレクトリ「MNIST_data」を作成します:

TRAIN_IMAGES = 'http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz' 
TRAIN_LABELS = 'http://yann.lecun.com/exdb/mnist/train-labels-idx1-ubyte.gz' 
TEST_IMAGES = 'http://yann.lecun.com/exdb/mnist/t10k-images-idx3-ubyte.gz' 
TEST_LABELS = 'http://yann.lecun.com/exdb/mnist/t10k-labels-idx1-ubyte.gz' 
+0

だから私はそれを動作させるために私のコードにこの関数を追加する必要がありますか? –

+0

引数としてこれを試しましたか?「MNIST_data /」 '/'を先に削除しましたか? – MYGz

+0

動作しません。私は私の編集であなたに完全なスタックのタールバックを与えるでしょう。 Plsは編集を参照してください。 –

0

[OK]をこれを行う:

tensorflow/contrib/learn/python/learn/datasets/ 

コピーし、そのフォルダ内のものをダウンロードしたすべてのファイルを抽出しますが、こちらからダウンロードすることができます。これはおそらくあなたの問題を解決するはずです。

私は、pythonがダウンロード後に.gzファイルを開くことができないというエラーがあったと思います。

+0

私はEOFErrorを取得しています:ストリームの終了マーカーに達する前に圧縮ファイルが終了しました。抽出したファイルをそこに貼り付けるとしても、まだダウンロードしようとしています。今何をする? –

+0

最後に最後に試してみることができます:そのフォルダから抽出したファイルを削除し、圧縮された(.gz)ファイルをコピーします。 – MYGz

+0

それが動作しない場合は、StackOverflowのチャットルームに行き、この問題を解決できる人を探してみてください。あるいは、ギターに行き、この質問を指し示す切符を掲げてください。 – MYGz

関連する問題