web-dev-qa-db-fra.com

Erreur lors de l'exécution de l'exemple tensorflow de base

Je viens de réinstaller le dernier tensorflow sur Ubuntu:

$ Sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.7.1-cp27-none-linux_x86_64.whl
[Sudo] password for ubuntu: 
The directory '/home/ubuntu/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with Sudo, you may want Sudo's -H flag.
The directory '/home/ubuntu/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with Sudo, you may want Sudo's -H flag.
Collecting tensorflow==0.7.1 from https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.7.1-cp27-none-linux_x86_64.whl
  Downloading https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.7.1-cp27-none-linux_x86_64.whl (13.8MB)
    100% |████████████████████████████████| 13.8MB 32kB/s 
Requirement already up-to-date: six>=1.10.0 in /usr/local/lib/python2.7/dist-packages (from tensorflow==0.7.1)
Requirement already up-to-date: protobuf==3.0.0b2 in /usr/local/lib/python2.7/dist-packages (from tensorflow==0.7.1)
Requirement already up-to-date: wheel in /usr/local/lib/python2.7/dist-packages (from tensorflow==0.7.1)
Requirement already up-to-date: numpy>=1.8.2 in /usr/local/lib/python2.7/dist-packages (from tensorflow==0.7.1)
Requirement already up-to-date: setuptools in /usr/local/lib/python2.7/dist-packages (from protobuf==3.0.0b2->tensorflow==0.7.1)
Installing collected packages: tensorflow
  Found existing installation: tensorflow 0.7.1
    Uninstalling tensorflow-0.7.1:
      Successfully uninstalled tensorflow-0.7.1
Successfully installed tensorflow-0.7.1

Lorsque vous suivez les instructions pour le tester, il échoue avec impossible d'importer le nom pywrap_tensorflow :

$ ipython

/git/tensorflow/tensorflow/__init__.py in <module>()
     21 from __future__ import print_function
     22 
---> 23 from tensorflow.python import *

/git/tensorflow/tensorflow/python/__init__.py in <module>()
     43 _default_dlopen_flags = sys.getdlopenflags()
     44 sys.setdlopenflags(_default_dlopen_flags | ctypes.RTLD_GLOBAL)
---> 45 from tensorflow.python import pywrap_tensorflow
     46 sys.setdlopenflags(_default_dlopen_flags)
     47 

ImportError: cannot import name pywrap_tensorflow

Un changement supplémentaire est-il nécessaire dans mon environnement python ou ubuntu/bash?

62
javadba

D'après le chemin dans votre trace de pile (/git/tensorflow/tensorflow/…), il semble que votre chemin Python charge peut-être les bibliothèques de tensorflow à partir du répertoire source plutôt que de la version que vous avez installée. Par conséquent, il est impossible de trouver la bibliothèque pywrap_tensorflow (compilée) installée dans un répertoire différent.

Une solution courante consiste à cd dans le répertoire /git/tensorflow avant de démarrer python ou ipython.

171
mrry

Command ci-dessous m'a aidé.

 pip install tensorflow --upgrade --force-reinstall
8
neustart47

J'ai compilé et installé TensorFlow à partir des sources (GitHub: https://github.com/tensorflow/tensorflow ) dans un environnement virtuel Python 2.7 (venv). Cela a bien fonctionné, mais j’avais besoin (comme d’autres l’ont déjà mentionné, par exemple, "mrry" sur Erreur lors de l’exemple de base tensorflow ) pour sortir de la partition dans laquelle j'avais compilé TensorFlow, sur une autre capable d'importer tensorflow en Python. Sinon, j'ai eu diverses erreurs, en fonction du répertoire (partition source) dans lequel j'étais. Pour clarifier:

         source: /mnt/Vancouver/apps/tensorflow
can't import tf: Python launched in any of /mnt/...
  can import tf: Python launched in /home/victoria/...

Plus tard, j'ai juste suivi les instructions ici,

https://github.com/tensorflow/tensorflow/blob/master/tensorflow/g3doc/get_started/os_setup.md#anaconda-installation

et tout fonctionne, d'accord.

Pour référence, je suis sur

  • Arch Linux [4.6.3-1-Arch] x86_64
  • Intel i7-4790
  • environnement de bureau xfce 4.12

ÉTAPES D'INSTALLATION:

Modifiez les chemins et les noms selon vos préférences.

  1. Créez tf-env:

    cd /home/victoria/anaconda3/envs
    
    conda create -n tf-env python=2.7 anaconda
    

Remarque: l'ajout du métapaquet 'anaconda' installe TOUS les packages Anaconda (NumPy; ...).

  1. Source activer que venv (tf-env)

    source activate tf-env
    

Note: ajouté à ~/.bashrc comme alias:

alias tf='echo "  [TensorFlow in Anaconda Python 2.7 venv (source activate tf]" && source activate tf-env'
  1. Installez TensorFlow dans le vv tf-env:

    (tf-env)$ conda install -c conda-forge tensorflow
    

CECI empêche l'utilisation de pip (y compris le script d'installation * .whl), une approche alternative à l'installation de TensorFlow décrite ici: 

https://github.com/tensorflow/tensorflow/blob/master/tensorflow/g3doc/get_started/os_setup.md).

TRAVAUX!

(tf-env)[victoria@victoria ~]$ P

  [P: python]
Python 2.7.12 |Anaconda 4.1.1 (64-bit)| (default, Jul  2 2016, 17:42:40)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org

>>> import tensorflow
>>> print tensorflow.__version__
0.9.0
>>> [Ctrl-D]

(tf-env)[victoria@victoria ~]$

Vous pouvez ensuite travailler avec TensorFlow dans le tf-env; Par exemple, dans les cahiers Jupyter lancés dans ce fichier (tf-env) venv.

4
Victoria Stuart

Dans mon python -m venv environment, il semblait être corrigé par:

pip uninstall tensorflow

Changez requirements.txt pour dire tensorflow==1.5.0 au lieu de tensorflow==1.8.0.

pip install -r requirements.txt
1
Cees Timmerman

J'utilise tensorflow 1.13.1. Simplement réinstaller le tensorflow a fonctionné pour moi.

0
Roberto Deresu

L'installation via la commande suivante résout le problème: 

pip install --upgrade

Voici le link à télécharger

0
Rajesh Tc

J'ai aussi ce problème et je le cherche depuis longtemps. Il semble qu’il n’existe aucun problème de ce type sur python 3+. Sur py2.7- Le problème est actuellement sur google.protobuf

Solution 1:

pip uninstall protobuf
pip uninstall google
pip install google
pip install protobuf
pip install google-cloud

Solution 2:

créer un __init__.py dans le dossier "google".

cd /path/to/your/env/lib/python2.7/site-packages/google
touch __init__.py

Espérons que cela fonctionnera.

0
Jerryhtz

si vous utilisez un processeur fabriqué avant 2011, rétrogradez la version tensorflow de la version 1.8.0 à la version 1.5.0 ou 1.2.0 et essayez d’importer le module qui a fonctionné pour moi.

0
iwilldo

J'ai réalisé que TensorFlow 1.12.0 ne fonctionne qu'avec Python version 3.5.2. J'avais Python 3.7 mais cela ne fonctionnait pas. J'ai donc dû rétrograder Python pour pouvoir installer TensorFlow, cela fonctionne.

Pour rétrograder votre version de python de 3.7 à 3.6

conda install python=3.6.8
0
Thirumal Alagu