我pip安装了Tensor Flow,所以我没有tensorflow.examples所以我从GitHub获得了源input_data。我怎么会收到以下错误。
PermissionError:[Errno 13]权限被拒绝:'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
我已经尝试过用Stack Overflow中描述的所有方法。请不要指出重复。
runfile('C:/ Users / Nikhil / Desktop / Tensor Flow / tensf.py',wdir ='C:/ Users / Nikhil / Desktop / Tensor Flow') 回溯(最近一次调用最后一次):
文件“”,第1行,in runfile('C:/ Users / Nikhil / Desktop / Tensor Flow / tensf.py',wdir ='C:/ Users / Nikhil / Desktop / Tensor Flow')
文件“C:\ Users \ Nikhil \ Anaconda3 \ lib \ site-packages \ spyder \ utils \ site \ sitecustomize.py”,第866行,在runfile中 execfile(filename,namespace)
文件“C:\ Users \ Nikhil \ Anaconda3 \ lib \ site-packages \ spyder \ utils \ site \ sitecustomize.py”,第102行,在execfile中 exec(compile(f.read(),filename,'exec'),namespace)
文件“C:/ Users / Nikhil / Desktop / Tensor Flow / tensf.py”,第26行,in mnist = input_data.read_data_sets(“MNIST_data /”,one_hot = True)
文件“C:\ Users \ Nikhil \ Anaconda3 \ lib \ site-packages \ tensorflow \ contrib \ learn \ python \ learn \ datasets \ mnist.py”,第211行,在read_data_sets中 SOURCE_URL + TRAIN_IMAGES)
文件“C:\ Users \ Nikhil \ Anaconda3 \ lib \ site-packages \ tensorflow \ contrib \ learn \ python \ learn \ datasets \ base.py”,第141行,在maybe_download中 urllib.request.urlretrieve(source_url,temp_file_name)
文件“C:\ Users \ Nikhil \ Anaconda3 \ lib \ urllib \ request.py”,第198行,在urlretrieve中 tfp = open(filename,'wb')
PermissionError:[Errno 13]权限被拒绝:'C:\ Users \ Nikhil \ AppData \ Local \ Temp \ tmpry0jmpiu'
答案 0 :(得分:1)
好的,这样做:
创建目录" MNIST_data"在这个位置:
tensorflow/contrib/learn/python/learn/datasets/
复制并提取该文件夹中的所有下载文件。这最有可能解决你的问题。
我猜错误是python在下载后无法打开.gz文件。
答案 1 :(得分: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临时目录中下载该文件,然后尝试访问它。
但由于受限制的许可或其他原因,它无法读取该文件。
所以我想尝试处理文件权限。我在linux上或者会为你测试它。
您可以执行一种解决方法,手动将数据下载到当前工作文件夹。你可以从这里下载:
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'