import input_data MNIST tensorflow无法正常工作

时间:2015-11-12 04:51:26

标签: python import machine-learning tensorflow mnist

TensorFlow MNIST example not running with fully_connected_feed.py

我检查了这一点并意识到input_data不是内置的。所以我从here下载了整个文件夹。我该如何开始教程:

import input_data
mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)


---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-6-a5af65173c89> in <module>()
----> 1 import input_data
      2 mnist = tf.input_data.read_data_sets("MNIST_data/", one_hot=True)

ImportError: No module named input_data

我使用的是iPython(Jupyter),所以我需要将工作目录更改为我下载的文件夹吗?或者我可以将其添加到我的tensorflow目录中吗?如果是这样,我在哪里添加文件?我使用tensorflow(在我的OSX上)安装了pip,当前位置为~/anaconda/lib/python2.7/site-packages/tensorflow/__init__.py

是否可以通过tensorflow sklearn数据集直接访问这些文件?或者我只是想进入目录并从那里开始工作?这个例子不清楚。

15 个答案:

答案 0 :(得分:25)

所以我们假设您在目录中:/somePath/tensorflow/tutorial(这是您的工作目录)。

您需要做的就是下载input_data.py并将其付诸实施。让你调用的文件名:

import input_data
mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)
...

main.py,它也在此目录中。

每当完成此操作后,您就可以开始运行main.py,它将开始下载文件,并将它们放在MNIST_data文件夹中(一旦它们存在,脚本将不会在下次下载它们。)

答案 1 :(得分:23)

旧教程说,要导入MNIST数据,请使用:

import input_data
mnist = input_data.read_data_sets('MNIST_data', one_hot=True)

这将导致错误。 新教程使用以下代码:

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

这很有效。

答案 2 :(得分:5)

  

如何开始教程

我没有下载您所做的文件夹,但是我通过pip安装了tensorflow,然后我遇到了类似的问题。

我的解决方法是更换

import tensorflow.examples.tutorials.mnist.input_data

import tensorflow.examples.tutorials.mnist.input_data as input_data

答案 3 :(得分:3)

我正在使用不同版本 - 在Windows上使用Docker here安装 - 并遇到类似问题。

我发现一个简单的解决方法是:

1.进入Linux命令行,找出我的Docker镜像上的input_data.py在哪里(在你的情况下你提到你必须手动下载它。在我的情况下,它已经在这里了)。我使用了以下linux命令:

$ sudo find . -print | grep -i '.*[.]py'

我有文件&amp;路径

./tensorflow/g3doc/tutorials/mnist/mnist.py
./tensorflow/g3doc/tutorials/mnist/input_data.py

2.启动Python并使用SYS键入以下命令:

>> import sys
>> print(sys.path)

您将获得现有路径。

['', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PILcompat']

4.添加inputa_data.py的路径:

>> sys.path.insert(1,'/tensorflow/tensorflow/g3doc/tutorials/mnist')

希望它可以提供帮助。如果您找到了更好的选择,请告诉我。 :)

答案 4 :(得分:2)

我可能有点晚了,但对于tensorflow版本0.12.1,您可能想要使用input_data.read_data_sets。

基本上使用此功能加载您从http://yann.lecun.com/exdb/mnist/下载的本地驱动器中的数据。

from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_sets('data_set/')

答案 5 :(得分:1)

cd your_mnist_dir &&\
wget https://github.com/HIPS/hypergrad/raw/master/data/mnist/mnist_data.pkl &&\
wget https://github.com/HIPS/hypergrad/raw/master/data/mnist/t10k-images-idx3-ubyte.gz &&\
wget https://github.com/HIPS/hypergrad/raw/master/data/mnist/t10k-labels-idx1-ubyte.gz &&\
wget https://github.com/HIPS/hypergrad/raw/master/data/mnist/train-images-idx3-ubyte.gz &&\
wget https://github.com/HIPS/hypergrad/raw/master/data/mnist/train-labels-idx1-ubyte.gz

答案 6 :(得分:1)

MNIST input_data是内置的,它不是一个单独的模块,它在Tensorflow模块中,试试

from tensorflow.examples.tutorials.mnist import input_data

答案 7 :(得分:1)

MNIST数据集作为tensorflow示例教程的一部分包含在内,如果我们想要使用它:

导入MNIST数据以识别手写的数字

from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets("MNIST data", one_hot=True)

答案 8 :(得分:1)

如果您使用Tensorflow 2.0或更高版本,则需要先安装tensorflow_datasets:

pip install tensorflow_datasets

或者如果您使用的是Anaconda发行版:

conda install tensorflow_datasets

从命令行。

如果您正在使用Jupyter Notebook,则需要安装并启用ipywidgets。根据使用pip的文档(Configure the OAuth consent screen):

pip install ipywidgets
jupyter nbextension enable --py widgetsnbextension

如果您使用的是Anaconda发行版,请从命令行安装ipywidget,例如:

conda install -c conda-forge ipywidgets

使用Anaconda发行版无需启用扩展程序,conda会为您处理。

然后导入您的代码:

import tensorflow_datasets as tfds
mnist = tfds.load(name='mnist')

如果遵循这些说明,则应该可以正确使用它。

答案 9 :(得分:0)

如TensorFlow官方网站所示,所有MNIST数据都托管在http://yann.lecun.com/exdb/mnist/

enter image description here

答案 10 :(得分:0)

对于 TensorFlow API 2.0 ,mnist数据已更改为: tf.keras.datasets.mnist.load_data

答案 11 :(得分:0)

现在有了一种更轻松的方法,无需使用Tensorflow 2和Tensorflow数据集将MNIST数据加载到张量流中

要开始使用,请确保您导入Tensorflow并指定第二个版本:

%tensorflow_version 2.x
import tensorflow as tf

然后使用以下代码将数据加载到字典中:

MNIST_data = tfds.load(name = "mnist")

然后将数据拆分为训练并进行测试:

train, test = MNIST_data['train'] , MNIST_data['test']

现在,您可以根据需要使用这些数据生成器。

答案 12 :(得分:0)

对于高于2.0的Tensorflow API,要使用MNIST数据集,可以使用以下命令,

import tensorflow_datasets as tfds
data = tfds.load(name = "mnist")

答案 13 :(得分:0)

以下步骤可以在我的笔记本中正常工作:

第1步:从github获取Python文件: !git clone https://github.com/tensorflow/tensorflow.git

第2步:将这些文件附加到我的Python路径中:

import sys

sys.path.append('/content/tensorflow/tensorflow/examples/tutorials/mnist')

第3步:使用“ input_data”功能加载MNIST数据

import input_data

mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)

仅此而已!

答案 14 :(得分:0)

删除行:

from tensorflow.examples.tutorials.mnist import input_data
fashion_mnist = input_data.read_data_sets('input/data',one_hot=True)

,下面的行就足够了:

fashion_mnist = keras.datasets.fashion_mnist

请注意,如果keras内置示例中的数据集不可用,这将下载数据集并解决问题。 :)