python - 导入 MNIST 数据集时出现 IOError

标签 python tensorflow mnist

我按照 TensorFlow 教程导入 MNIST 数据集,运行这些命令:

from tensorflow.examples.tutorials.mnist import input_data 
mnist = input_data.read_data_sets('MNIST_data', one_hot=True)

然后显示错误:

anaconda2/lib/python2.7/gzip.pyc
IOError: Not a gzipped file

我是python和tensorflow的新手,我不明白这意味着什么,感谢您的帮助。

我的系统是ubuntu,运行在Ipython 5.1.0上。

最佳答案

含义:

这意味着它正在查找 MNIST_data 目录,并且它正在查找的文件不是 gzip 文件。更具体地说,在这种情况下,它很可能只是意味着它在目录中查找但找不到文件。这可能是由于多种原因造成的。我相信在我的情况下,由于某种原因,当它发现 MNIST_data 目录中不存在文件时,它只是没有下载文件。

我遇到了这个问题,而且非常烦人。

解决方案:

直接在控制台中使用curl 通过浏览器获取数据。

curl -O http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz
curl -O http://yann.lecun.com/exdb/mnist/train-labels-idx1-ubyte.gz
curl -O http://yann.lecun.com/exdb/mnist/t10k-images-idx3-ubyte.gz
curl -O http://yann.lecun.com/exdb/mnist/t10k-labels-idx1-ubyte.gz

将数据放入根 tmp 目录中。我把它放进去 /tmp/tensorflow/mnist/input_data 但您可以将其放在任何您想要放置的位置。

然后更改您的行以获取 mnist 数据,其目录与您放置数据的位置相匹配。

mnist = input_data.read_data_sets('tmp/tensorflow/mnist/input_data', one_hot=True)

我的环境:(如果这对您开始重要)

tensorflow pip 安装在 virtualenv 中

Python 2.7.10

tensorflow ==1.4.0

MacOS 塞拉利昂

关于python - 导入 MNIST 数据集时出现 IOError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43259010/

相关文章:

python - 如何比较 python 中 dict 中特定键的两个列表

python - 比较字典中的键和值,并将不匹配的值输出到列表中

tensorflow - TFLearn 无法正确加载具有形状的训练数据

python - MNIST 图像纠偏

python - redis-py 有 NUMSUB 命令吗?

python - TF中的Keras,如何在不执行梯度下降的情况下获得每个示例的损失值?

python - 与 Scikit-Learn 的 Logistic 回归相比,Tensorflow 的性能要差得多

tensorflow - Keras,Tensorflow 无法打开 CUDA 库 libcudnn.so。 LD_LIBRARY_PATH :?

machine-learning - 确定 Keras 的 Mnist 输入形状

python - python 中 MIDIUtil 中的乐器列表是什么?