EOFError:压缩文件在达到流末尾标记之前结束 - MNIST数据集

时间:2016-11-29 23:37:47

标签: python tensorflow

运行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,'e​​xec'),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:压缩文件在到达流末尾标记之前结束

8 个答案:

答案 0 :(得分:6)

这是因为出于某种原因,您的MNIST数据集下载不完整。

在您的案例~/.keras/datasets中,您必须手动删除通常位于MNIST_data的下载文件夹或您指定的相对于此路径的任何路径。

在终端中执行以下步骤(ctrl + alt + t):

  1. cd ~/.keras/datasets/
  2. rm -rf "dataset name"
  3. 你应该好好去!

答案 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]