错误:来自tensorflow.examples.tutorials.mnist import input_data

时间:2018-06-11 15:22:43

标签: python tensorflow mnist

我的环境如下:

* Windows 7, 64 bit
* Anaconda Navigator 1.8.7
* python 3.6.5
* tensorflow 1.8.0

在python中,我输入:

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

我收到如下错误:

>>> from tensorflow.examples.tutorials.mnist import input_data
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "E:\Anaconda3\envs\opencv\lib\site-packages\tensorflow\examples\tutorials\mnist\__init__.py", line 21, in <module>
    from tensorflow.examples.tutorials.mnist import input_data
  File "E:\Anaconda3\envs\opencv\lib\site-packages\tensorflow\examples\tutorials\mnist\input_data.py", line 30, in <module>
    from tensorflow.contrib.learn.python.learn.datasets.mnist import read_data_sets
  File "E:\Anaconda3\envs\opencv\lib\site-packages\tensorflow\contrib\__init__.py", line 34, in <module>
    from tensorflow.contrib import data
  File "E:\Anaconda3\envs\opencv\lib\site-packages\tensorflow\contrib\data\__init__.py", line 67, in <module>
    from tensorflow.contrib.data.python.ops.error_ops import ignore_errors
  File "E:\Anaconda3\envs\opencv\lib\site-packages\tensorflow\contrib\data\python\ops\error_ops.py", line 20, in <module>
    from tensorflow.contrib.data.python.ops import contrib_op_loader  # pylint: disable=unused-import
  File "E:\Anaconda3\envs\opencv\lib\site-packages\tensorflow\contrib\data\python\ops\contrib_op_loader.py", line 24, in <module>
    resource_loader.get_path_to_datafile("../../_dataset_ops.so"))
  File "E:\Anaconda3\envs\opencv\lib\site-packages\tensorflow\contrib\util\loader.py", line 56, in load_op_library
    ret = load_library.load_op_library(path)
  File "E:\Anaconda3\envs\opencv\lib\site-packages\tensorflow\python\framework\load_library.py", line 56, in load_op_library
    lib_handle = py_tf.TF_LoadLibrary(library_filename)
tensorflow.python.framework.errors_impl.NotFoundError: E:\Anaconda3\envs\opencv\lib\site-packages\tensorflow\contrib\data\python\ops\..\..\_dataset_ops.so not found
>>>

它还会弹出一个窗口说:

The procedure entry point ?addcleanup@arenaimpl@internal@protobuf@google@@QEAAXPEAXP6AX0@Z@Z could not be located in the dynamic link library _pywarp_tensorflow_internal.pyd

请帮忙。非常感谢你。

最温暖的问候, Suryadi

2 个答案:

答案 0 :(得分:4)

tensorflow.examples.tutorials.mnisttf.contrib.learn.datasets.load_dataset('mnist')都抛弃了已弃用的警告。您可以加载keras datasets

(x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data().

您可以在此处查看如何加载mnist并将其用于培训:How to load MNIST via TensorFlow (including download)?

答案 1 :(得分:1)

您还应该将图像数据转换为浮点表示。

 mnist_train, mnist_test = tf.keras.datasets.mnist.load_data()
 train_data = np.float16(mnist_train[0])  # Returns np.array
 train_labels = np.asarray(mnist_train[1], dtype=np.int32)
 eval_data = np.float16(mnist_test[0])  # Returns np.array
 eval_labels = np.asarray(mnist_test[1], dtype=np.int32)