import input_data MNIST tensorflow not working
Asked Answered
D

15

39

TensorFlow MNIST example not running with fully_connected_feed.py

I checked this out and realized that input_data was not built-in. So I downloaded the whole folder from here. How can I start the tutorial:

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

I'm using iPython (Jupyter) so do I need to change my working directory to this folder I downloaded? or can I add this to my tensorflow directory? If so, where do I add the files? I installed tensorflow with pip (on my OSX) and the current location is ~/anaconda/lib/python2.7/site-packages/tensorflow/__init__.py

Are these files meant to be accessed directly through tensorflow like sklearn datasets? or am I just supposed to cd into the directory and work from there? The example is not clear.

EDIT:

This post is very out-dated

Durmast answered 12/11, 2015 at 4:51 Comment(0)
A
34

So let's assume that you are in the directory: /somePath/tensorflow/tutorial (and this is your working directory).

All you need to do is to download the input_data.py file and place it like this. Let's assume that the file name you invoke:

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

is main.py and it is also in the same directory.

Once this is done, you can just start running main.py which will start downloading the files and will put them in the MNIST_data folder (once they are there the script will not be downloading them next time).

Appendant answered 12/11, 2015 at 5:1 Comment(5)
Someone know what "one_hot=True" means? And where someone could go and read these details from his own? Thank youNod
For possible interested people, I found a possible answer, which is: "A one-hot vector is a vector which is 0 in most dimensions, and 1 in a single dimension.". Full explanation at page: tensorflow.org/versions/r0.10/tutorials/mnist/beginners/… (search for the word 'one-hot')Nod
let's say we have a vector for images 0 to 9. So, it is a 10 element vector. one-hot vector means that only one class is active at a time. So, class of '6' images is active. or that element in vector has value of 1.Florettaflorette
For additional context. During the training process, your optimizer (say gradient descent) minimizes the distance between your model's output and the one-hot vector. The smaller this distance is, the more accurate your model is. A common distance function to minimize is the cross-entropy function. Essentially your model needs a reference to compare it's output to so the weights and biases can continue to be adjusted until an acceptable accuracy is achieved. This reference is the one-hot encoded vector.Salleysalli
Since the quoted link to input_data.py does not work, [this][1] file worked for me. [1]: gist.github.com/haje01/14b0e5d8bd5428df781eShig
G
25

The old tutorial said, to import the MNIST data, use:

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

This will cause the error. The new tutorial uses the following code to do so:

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

And this works well.

Gilbreath answered 31/5, 2016 at 8:8 Comment(4)
When I try the method you mention from new tutorial, I get this error: urllib.error.URLError: <urlopen error [WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond>. Any idea why?Pater
I was able to manually download the data from here. Make sure to download the file to the tensorflow MNIST_data folder tensorflow\examples\tutorials\mnist After doing this the input_data.read_data_sets("MNIST_data", one_hot=True) worked.Pater
Hey, this worked for me, but I had to update pandas first. Use "sudo pip install pandas --upgrade" for thatYetta
@user3731622, I was getting that error occasionally as well. A bit of googling brought me to some other bug trackers for the issue. Apparently the website hosting that data is known to go down from time to time and it doesn't automatically try another mirror.Pomace
S
3

I am using different version - following Install on Windows with Docker here - and had similar problem.

An easy workaround I've found was:

1.Into the Linux command line, figure out where is the input_data.py on my Docker image (in your case you mentionned that you had to download it manually. In my case, it was already here). I used the follwing linux command:

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

I've got the files & path

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

2.launch Python and type the following command using SYS:

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

you will get the existing paths.

['', '/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.add the path of inputa_data.py:

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

Hope that it can help. If you found better option, let me know. :)

Sweettalk answered 6/12, 2015 at 0:27 Comment(1)
For me it worked like this: import tensorflow.examples.tutorials.mnist.input_dataZebu
K
3

How can I start the tutorial

I didn't download the folder you did but I installed tensorflow by pip and then I had similar problem.

My workaround was to replace

import tensorflow.examples.tutorials.mnist.input_data

with

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

Kosygin answered 4/2, 2016 at 4:4 Comment(0)
O
3

If you're using Tensorflow 2.0 or higher, you need to install tensorflow_datasets first:

pip install tensorflow_datasets

or if you're using an Anaconda distribution:

conda install tensorflow_datasets

from the command line.

If you're using a Jupyter Notebook you will need to install and enable ipywidgets. According to the docs (https://ipywidgets.readthedocs.io/en/stable/user_install.html) using pip:

pip install ipywidgets
jupyter nbextension enable --py widgetsnbextension

If you're using an Anaconda distribution, install ipywidgets from the command line like such:

conda install -c conda-forge ipywidgets

With the Anaconda distribution there is no need to enable the extension, conda handles this for you.

Then import into your code:

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

You should be able to use it without error if you follow these instructions.

Ophiology answered 1/6, 2020 at 18:43 Comment(0)
S
2

I might be kinda late, but for tensorflow version 0.12.1, you might wanna use input_data.read_data_sets instead.

Basically using this function to load the data from your local drive that you had downloaded from http://yann.lecun.com/exdb/mnist/.

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

Slog answered 27/1, 2017 at 3:43 Comment(0)
K
2

For TensorFlow API 2.0 the mnist data changed place to: tf.keras.datasets.mnist.load_data

Knothole answered 7/12, 2019 at 18:47 Comment(0)
D
2

There's now a much easier way to load MNIST data into tensorflow without having to download the data by using Tensorflow 2 and Tensorflow Datasets

To get started, make sure you import Tensorflow and specify the 2nd version:

%tensorflow_version 2.x
import tensorflow as tf

Then load the data into a dictionary using the following code:

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

and Then split the data into train and test:

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

Now you can use these data generators however you like.

Derisive answered 23/12, 2019 at 22:33 Comment(0)
P
2

Remove the lines:

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

and the line below will suffice:

fashion_mnist = keras.datasets.fashion_mnist

Note that if the dataset is not available in the examples built-in to the keras, this will download the dataset and solve the problem. :)

Prosthodontics answered 14/7, 2020 at 5:17 Comment(0)
W
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
Whelm answered 7/3, 2017 at 3:41 Comment(0)
T
1

MNIST input_data was built-in, it's just not a individual module, it's inside Tensorflow module, try

from tensorflow.examples.tutorials.mnist import input_data
Tatary answered 2/4, 2017 at 15:29 Comment(0)
B
1

MNIST data set included as a part of tensorflow examples tutorial, If we want to use this :

Import MNIST data to identify handwritten digites

from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets("MNIST data", one_hot=True)
Blacksmith answered 3/10, 2017 at 3:47 Comment(0)
R
0

As TensorFlow official website shown, All MNIST data is hosted on http://yann.lecun.com/exdb/mnist/

enter image description here

Rives answered 25/3, 2018 at 11:16 Comment(0)
H
0

For Tensorflow API above 2.0, to use MNIST dataset following command can be used,

import tensorflow_datasets as tfds
data = tfds.load(name = "mnist")
Habiliment answered 17/4, 2020 at 7:4 Comment(0)
K
0

The following steps work perfectly in my Notebook:

step 1 : get Python files from github : !git clone https://github.com/tensorflow/tensorflow.git

step 2 : append these files in my Python path :

import sys

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

step 3 : load the MNIST data with 'input_data' fonction

import input_data

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

That's all !

Knavery answered 23/4, 2020 at 9:8 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.