web-dev-qa-db-fra.com

TensorFlow, "l'objet 'module' n'a pas d'attribut 'espace réservé'"

Cela fait deux jours que j'essaie d'utiliser tensorflow en l'installant et en le réinstallant encore et encore dans python2.7 et 3.4. Quoi que je fasse, je reçois ce message d'erreur lorsque j'essaie d'utiliser tensorflow.placeholder ()

C'est un code très passe-partout:

tf_in = tf.placeholder("float", [None, A]) # Features

Quoi que je fasse, je récupère toujours la trace:

Traceback (most recent call last):
  File "/home/willim/PycharmProjects/tensorflow/tensorflow.py", line 2, in <module>
    import tensorflow as tf
  File "/home/willim/PycharmProjects/tensorflow/tensorflow.py", line 53, in <module>
    tf_in = tf.placeholder("float", [None, A]) # Features
AttributeError: 'module' object has no attribute 'placeholder'

Quelqu'un sait comment je peux résoudre ce problème?

12
user3023715

Ça m'est aussi arrivé. J'avais tensorflow et cela fonctionnait plutôt bien, mais lorsque j'ai installé tensorflow-gpu à côté du tensorflow précédent, cette erreur est survenue, puis j'ai effectué ces 3 étapes et tout a commencé sans problème:

  1. J'ai retiré les paquets tensorflow-gpu, tensorflow, tensorflow-base d'Anaconda. En utilisant. conda remove tensorflow-gpu tensorflow tensorflow-base  
  2. tensorflow réinstallé. Utilisation de conda install tensorflow
6
farnaz jazayeri

Solution: N'utilisez pas "tensorflow" comme nom de fichier.

Notez que vous utilisez tensorflow.py comme nom de fichier. Et je suppose que vous écrivez un code comme:

import tensorflow as tf

Ensuite, vous importez le fichier de script "tensorflow.py" qui se trouve dans votre répertoire de travail actuel, plutôt que le "vrai" module tensorflow de Google.

Voici l'ordre dans lequel un module sera recherché lors de l'importation:

  1. Le répertoire contenant le script d'entrée (ou le répertoire actuel lorsqu'aucun fichier n'est spécifié). 

  2. PYTHONPATH (liste de noms de répertoire, Avec la même syntaxe que la variable shell PATH). 

  3. La valeur par défaut dépendante de l'installation.

35
Lifu Huang

Problème rencontré sous Ubuntu 16LTS lors de l’installation du flux de tenseurs par-dessus l’installation python existante.

Solution de contournement: 1.) désinstaller tensorflow de pip et pip3 Sudo pip désinstaller tensorflow Sudo pip3 désinstaller tensorflow

2.) Désinstallez python & python3 Sudo apt-get remove python-dev python3-dev python-pip python3-pip

3.) Installez une seule version de python (j'ai utilisé python 3) Sudo apt-get installez python3-dev python3-pip

4.) Installez tensorflow sur python3 Sudo pip3 install --upgrade pip

pour tensorflow non GPU, exécutez cette commande 

Sudo pip3 install --upgrade du tenseur

pour GPU tensorflow, exécutez la commande ci-dessous Sudo pip3 install --upgrade tensorflow-gpu

Suggère de ne pas installer les versions GPU et Vanilla de tensorflow

1
shawndfernandes

Cela peut être une faute de frappe si vous avez écrit incorrectement le placeholder Word . Dans mon cas, je l'ai mal orthographié en tant que placehoder et j'ai le message d'erreur suivant: AttributeError: 'module' object has no attribute 'placehoder'

0
prosti