Tensorflow: чтение данных MNIST в Python 3.5

Я только начинаю с ML и Tensorflow. После того, как (я думаю) успешно установил tenorflow в моей системе Ubuntu. Я хотел реализовать CNN с тензорным потоком для рукописных диджитов. Если вы прочитали пару вопросов в stackru и одурачили около 2 дней без какого-либо решения.

    import tensorflow as tf
    import matplotlib.pyplot as plt
    import struct
    import numpy as np
    from mpl_toolkits.mplot3d import Axes3D

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

    mnist = MNIST("./data/")   

    # for now i just wanna print something that tells me i successfully   
    # read the data
    print("Size of:")
    print("- Training-set:\t\t{}".format(len(data.train.labels)))
    print("- Test-set:\t\t{}".format(len(data.test.labels)))
    print("- Validation-set:\t{}".format(len(data.validation.labels)))

Что я получаю это:

    ---------------------------------------------------------------------------
NotFoundError                             Traceback (most recent call last)
<ipython-input-3-17f8ae55d032> in <module>()
      7 
      8 # Import MNIST data
----> 9 from tensorflow.examples.tutorials.mnist import input_data
     10 data = input_data.read_data_sets("./MNIST/", one_hot=True)
     11 

/home/vanmunky/anaconda/envs/tensorflow/lib/python3.5/site-packages/tensorflow/examples/tutorials/mnist/__init__.py in <module>()
     19 from __future__ import print_function
     20 
---> 21 from tensorflow.examples.tutorials.mnist import input_data
     22 from tensorflow.examples.tutorials.mnist import mnist

/home/vanmunky/anaconda/envs/tensorflow/lib/python3.5/site-packages/tensorflow/examples/tutorials/mnist/input_data.py in <module>()
     27 from six.moves import xrange  # pylint: disable=redefined-builtin
     28 import tensorflow as tf
---> 29 from tensorflow.contrib.learn.python.learn.datasets.mnist import read_data_sets

/home/vanmunky/anaconda/envs/tensorflow/lib/python3.5/site-packages/tensorflow/contrib/__init__.py in <module>()
     23 from tensorflow.contrib import copy_graph
     24 from tensorflow.contrib import crf
---> 25 from tensorflow.contrib import cudnn_rnn
     26 from tensorflow.contrib import distributions
     27 from tensorflow.contrib import factorization

/home/vanmunky/anaconda/envs/tensorflow/lib/python3.5/site-packages/tensorflow/contrib/cudnn_rnn/__init__.py in <module>()
     19 from __future__ import print_function
     20 
---> 21 from tensorflow.contrib.cudnn_rnn.python.ops.cudnn_rnn_ops import CudnnGRU
     22 from tensorflow.contrib.cudnn_rnn.python.ops.cudnn_rnn_ops import CudnnLSTM
     23 from tensorflow.contrib.cudnn_rnn.python.ops.cudnn_rnn_ops import CudnnRNNRelu

/home/vanmunky/anaconda/envs/tensorflow/lib/python3.5/site-packages/tensorflow/contrib/cudnn_rnn/python/ops/cudnn_rnn_ops.py in <module>()
     26 
     27 _cudnn_rnn_ops_so = loader.load_op_library(
---> 28     resource_loader.get_path_to_datafile("_cudnn_rnn_ops.so"))
     29 
     30 _cudnn_rnn_common_doc_string = """

/home/vanmunky/anaconda/envs/tensorflow/lib/python3.5/site-packages/tensorflow/contrib/util/loader.py in load_op_library(path)
     40   if os.name != 'nt':
     41     path = resource_loader.get_path_to_datafile(path)
---> 42     ret = load_library.load_op_library(path)
     43     assert ret, 'Could not load %s' % path
     44     return ret

/home/vanmunky/anaconda/envs/tensorflow/lib/python3.5/site-packages/tensorflow/python/framework/load_library.py in load_op_library(library_filename)
     62       # pylint: disable=protected-access
     63       raise errors_impl._make_specific_exception(
---> 64           None, None, error_msg, error_code)
     65       # pylint: enable=protected-access
     66   finally:

NotFoundError: /home/vanmunky/anaconda/envs/tensorflow/lib/python3.5/site-packages/tensorflow/contrib/cudnn_rnn/python/ops/_cudnn_rnn_ops.so: cannot open shared object file: No such file or directory

Я почти уверен, что файлы 4 gz находятся не в том месте, но я помещаю их почти везде. Так в соответствии с этим кодом, где именно я должен поместить данные? Или код неправильный? Что мне не хватает?

Спасибо

1 ответ

Проблема с трассировкой стека не связана с путем к набору данных mnist. Вы установили тензор потока с поддержкой графического процессора, но он не может связаться с необходимой библиотекой cudnn. Если вы действительно хотите использовать tenorflow с gpu, убедитесь, что у вас есть все требования к GPU. В противном случае вам просто нужно переустановить тензор потока с процессором (при условии, что вы используете Anaconda).

Другие вопросы по тегам