python - tutorial - importar input_data MNIST tensorflow no funciona
tensorflow seq2seq (9)
El ejemplo de TensorFlow MNIST no se ejecuta con fully_connected_feed.py
input_data
esto y me di cuenta de que input_data
no estaba incorporado. Así que descargué toda la carpeta desde here . ¿Cómo puedo iniciar el 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
Estoy usando iPython (Jupyter), ¿entonces necesito cambiar mi directorio de trabajo a esta carpeta que descargué? o puedo agregar esto a mi directorio tensorflow
? Si es así, ¿dónde agrego los archivos? Instalé tensorflow
con pip
(en mi OSX) y la ubicación actual es ~/anaconda/lib/python2.7/site-packages/tensorflow/__init__.py
¿Están estos archivos destinados a ser accedidos directamente a través de tensorflow
como los sklearn
datos de sklearn
? ¿O se supone que debo introducir en el directorio y trabajar desde allí? El ejemplo no está claro.
¿Cómo puedo iniciar el tutorial?
No descargué la carpeta que hiciste, pero instalé tensorflow by pip y luego tuve un problema similar.
Mi solución fue reemplazar
import tensorflow.examples.tutorials.mnist.input_data
con
import tensorflow.examples.tutorials.mnist.input_data as input_data
Así que supongamos que está en el directorio: /somePath/tensorflow/tutorial
(y este es su directorio de trabajo).
Todo lo que necesitas hacer es descargar el input_data.py y ponerlo así. Deje el nombre del archivo donde invoca:
import input_data
mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)
...
es main.py
y también está en este directorio.
Una vez hecho esto, puedes comenzar a ejecutar main.py
que comenzará a descargar los archivos y los colocará en la carpeta MNIST_data (una vez que estén allí, el script no los descargará la próxima vez).
Como se muestra en el sitio web oficial de TensorFlow, todos los datos de MNIST están alojados en http://yann.lecun.com/exdb/mnist/
El conjunto de datos MNIST incluido como parte del tutorial de ejemplos de tensorflow, si queremos usar esto:
Importar datos MNIST para identificar dígitos escritos a mano
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets("MNIST data", one_hot=True)
El viejo tutorial dijo, para importar los datos de MNIST, use:
import input_data
mnist = input_data.read_data_sets(''MNIST_data'', one_hot=True)
Esto causará el error. El nuevo tutorial usa el siguiente código para hacerlo:
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets("MNIST_data", one_hot=True)
Y esto funciona bien.
Estoy usando una versión diferente, siguiendo la instalación en Windows con Docker here , y tuve un problema similar.
Una solución fácil que he encontrado fue:
1.En la línea de comandos de Linux, averigüe dónde está el input_data.py en mi imagen de Docker (en su caso, mencionó que tenía que descargarlo manualmente. En mi caso, ya estaba aquí). Utilicé el siguiente comando de Linux:
$ sudo find . -print | grep -i ''.*[.]py''
Tengo los archivos y la ruta
./tensorflow/g3doc/tutorials/mnist/mnist.py
./tensorflow/g3doc/tutorials/mnist/input_data.py
2. Inicie Python y escriba el siguiente comando usando SYS:
>> import sys
>> print(sys.path)
Obtendrá los caminos existentes.
['''', ''/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 la ruta de acceso de inputa_data.py:
>> sys.path.insert(1,''/tensorflow/tensorflow/g3doc/tutorials/mnist'')
Espero que pueda ayudar. Si encontraste mejor opción, házmelo saber. :)
MNIST input_data fue incorporado, simplemente no es un módulo individual, está dentro del módulo Tensorflow, intente
from tensorflow.examples.tutorials.mnist import input_data
Puede que llegue un poco tarde, pero para la versión 0.12.1 de tensorflow, puede que quieras usar input_data.read_data_sets en su lugar.
Básicamente, utilice esta función para cargar los datos de su disco local que ha descargado de http://yann.lecun.com/exdb/mnist/ .
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets(''data_set/'')
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