运行mnist = input_data.read_data_sets("MNIST_data", one_hot = True)
时出现以下错误。
EOFError:压缩文件在到达流末尾标记之前结束
即使我手动提取文件并将其放在MNIST_data
目录中,程序仍在尝试下载文件而不是使用提取的文件。
当我使用手动方式WinZip提取文件时,WinZip告诉我该文件已损坏。
如何解决此问题?
我现在甚至无法加载数据集,我仍然需要调试程序本身。请帮忙。
我pip安装了Tensorflow,所以我没有Tensorflow示例。所以我去了GitHub获取input_data
文件,并将其保存在与main.py
相同的目录中。错误只是关于.gz文件。该程序无法提取它。
runfile('C:/ Users / Nikhil / Desktop / Tensor Flow / tensf.py',wdir ='C:/ Users / Nikhil / Desktop / Tensor Flow') 重装上阵的模块:input_data 提取MNIST_data / train-images-idx3-ubyte.gz C:\ Users \ Nikhil \ Anaconda3 \ lib \ gzip.py:274:VisibleDeprecationWarning:使用ndim转换数组> 0到索引将导致将来出错 return self._buffer.read(size) 回溯(最近一次调用最后一次):
文件“”,第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 \ Desktop \ Tensor Flow \ input_data.py”,第181行,在read_data_sets中 train_images = extract_images(local_file)
文件“C:\ Users \ Nikhil \ Desktop \ Tensor Flow \ input_data.py”,第60行,在extract_images中 buf = bytestream.read(rows * cols * num_images)
文件“C:\ Users \ Nikhil \ Anaconda3 \ lib \ gzip.py”,第274行,正在阅读 return self._buffer.read(size)
文件“C:\ Users \ Nikhil \ Anaconda3 \ lib_compression.py”,第68行,在readinto中 data = self.read(len(byte_view))
文件“C:\ Users \ Nikhil \ Anaconda3 \ lib \ gzip.py”,第480行,正在阅读 提出EOFError(“压缩文件在”
之前结束EOFError:压缩文件在到达流末尾标记之前结束
答案 0 :(得分:6)
这是因为出于某种原因,您的MNIST数据集下载不完整。
在您的案例~/.keras/datasets
中,您必须手动删除通常位于MNIST_data
的下载文件夹或您指定的相对于此路径的任何路径。
在终端中执行以下步骤(ctrl + alt + t):
cd ~/.keras/datasets/
rm -rf "dataset name"
你应该好好去!
答案 1 :(得分:2)
对于任何挣扎的人,我遇到了类似的问题。在我的Mac Mojave 10.14.3上。
使用Anaconda和Jupyter参加有关UDEMY的课程,使用以下方法解决了该问题。
Finder > Go > Go to Folder > In go to folder window input ~/.keras/datasets/fashion_mnist > delete the partially downloaded files
转到GitHub并从https://github.com/zalandoresearch/fashion-mnist.git搜寻fashion-mnist-master
下载文件,找到数据> fashion文件并解压缩这四个文件
将四个解压缩的文件放入〜/ .keras / datasets / fashion_mnist>
在新页面中打开Jupyter Lab,插入以下内容:
from keras.datasets import fashion_mnist
#message states using TensorFlow backend
(x_train, y_train), (x_test, y_test) = fashion_mnist.load_data()
#it will then cycle through as if the download were successful
祝你好运,这对你有利。
答案 2 :(得分:1)
如果下载中断,请删除C:/tmp/imagenet
文件夹,然后重新开始下载。
此外,对于通过Google到达此处的用户,请通过命令行运行classify_image.py
文件,而不要使用IDLE:
python classify_image.py
答案 3 :(得分:0)
首先,从Keras目录中删除部分安装的fashion_mnist
目录。
然后,从GitHub下载文件
https://github.com/zalandoresearch/fashion-mnist/blob/master/data/fashion/train-labels-idx1-ubyte.gz
将这些文件和提取的文件放在Keras文件夹的fashion_mnist
目录中。
这将解决您的问题。
答案 4 :(得分:0)
当您下载数据集时由于某些原因未下载它会发生。 使用pytorch时,任何在Windows中苦苦挣扎的人。 我已经通过删除路径下面的文件夹解决了相同的问题
C:/Users/UserName/.pytorch/foldername
还请检查您的情况。由于禁用了隐藏文件,pytorch可能不可见。
答案 5 :(得分:0)
在Windows上使用Torchvision下载数据集时,我遇到了同样的问题。我可以通过删除以下路径中的所有文件来解决此问题: C:\ Users \ UserName \ MNIST \ raw
答案 6 :(得分:0)
在Windows中非常简单:
转到:C:\Users\Username\.keras\datasets
,然后删除要重新下载或出现错误的数据集
答案 7 :(得分:0)
我第一次遇到相同的问题,必须使用下面两行代码下载数据集 我正在使用pycharm
'name'=tensorflow.keras.datasets.fashion_mnist
name.load_data()
首先运行此命令,它将下载数据,然后您可以通过以下方式加载
'name'=tensorflow.keras.datasets.fashion_mnist
(train_images,train_lables),(test_images,test_lables)=name.load_data()
[tag:load_data()错误,压缩文件结束 之前,fashion_nmist]