我按照 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/