2016-05-23 21 views
8

Ho provato a utilizzare tensorflow per due giorni ora installandolo e reinstallandolo più e più volte in python2.7 e 3.4. Non importa quello che faccio, ottengo questo messaggio di errore quando si tenta di utilizzare tensorflow.placeholder()TensorFlow, l'oggetto "modulo" non ha attributo "segnaposto" "

E 'codice molto boilerplate:

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

Non importa quello che faccio Ho sempre trovato la traccia posteriore:

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' 

Qualcuno sa come posso risolvere questo problema?

+1

per caso, hai un altro i nomi dei file 'tensorflow.py' dove lavoro? –

risposta

26

Soluzione: non utilizzare "tensorflow" come nome file.

Si noti che si utilizza tensorflow.py come nome file. E credo che si scrive il codice del tipo:

import tensorflow as tf 

Poi si sono in realtà l'importazione del file script "tensorflow.py" che si trova sotto la directory di lavoro corrente, piuttosto che il modulo tensorflow "reale" da parte di Google.

Ecco l'ordine in cui verrà cercato un modulo durante l'importazione:

  1. The directory containing the input script (or the current directory when no file is specified).

  2. PYTHONPATH (a list of directory names, with the same syntax as the shell variable PATH).

  3. The installation-dependent default.

+5

Correlati: Ho avuto un problema (tensorflow 0.9), in cui gli script hanno smesso di funzionare: "AttributeError: l'oggetto 'module' non ha attributo 'constant'". Grazie a questa risposta, ho osservato e notato che avevo una cartella chiamata "tensorflow". Ho ribattezzato quella cartella e i miei script stanno funzionando di nuovo. –

+0

grazie mille! – fpopic

+0

molto utile, mi salva la vita! – steven

0

Di fronte stesso problema su Ubuntu 16LTS quando il flusso tensore è stato installato più di installazione di Python esistente.

Soluzione: 1. ) Disinstallare tensorflow da granella e PIP3 sudo pip disinstallazione tensorflow sudo PIP3 disinstallazione tensorflow

2.) disinstallazione pitone & python3 sudo apt-get remove python-dev python3-dev pitone -pip python3-pip

3.) installare una sola versione di Python (io ho usato Python 3) sudo apt-get install python3-dev python3-pip

4.) a stallo tensorflow a python3 sudo PIP3 installare --upgrade pip

per tensorflow non GPU, eseguire questo comando

sudo PIP3 installare --upgrade tensorflow

per GPU tensorflow, eseguire sotto comando sudo PIP3 installare --upgrade tensorflow-gpu

consiglia di non installare GPU e la versione di vaniglia di tensorflow