2017-02-22 2 views
2

Im juste commencer avec ML et Tensorflow. Après avoir (je pense) installé avec succès tensorflow sur mon système ubuntu. Je voulais implémenter un CNN avec tensorflow pour les didgits manuscrits. Si vous avez lu quelques questions dans stackoverflow et trompé autour de 2 jours sans aucune solution.Tensorflow: Lire les données MNIST en Python 3.5

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))) 

Ce que je sors est:

--------------------------------------------------------------------------- 
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 

Im presque certain que les 4 fichiers sont gz au mauvais endroit, mais je les ai mis un peu partout. Donc, d'après ce code, où dois-je mettre les données? Ou le code est-il faux? Qu'est-ce qui me manque?

Merci

Répondre

0

Le problème d'un stacktrace n'est pas avec un chemin de mnist ensemble de données. Vous avez installé le support tensorflow with GPU, mais il ne peut pas être lié à la bibliothèque cudnn requise. Si vous voulez vraiment utiliser tensorflow avec gpu, assurez-vous que vous avez tous GPU requirements. Sinon, il vous suffit de réinstaller tensorflow with CPU (en supposant que vous utilisez anaconda).

+0

J'ai pensé qu'il pourrait y avoir le problème, mais j'ai installé la version CPU (oui avec anaconda). Donc, cela peut sembler banal mais sous quel chemin dois-je abandonner les données alors ?! –