web-dev-qa-db-fra.com

Keras et Tensorflow: UnboundLocalError: variable locale 'self' référencée avant l'affectation

Je suis un tutoriel pour TensorFlow et Keras. 

Quand j'exécute la syntaxe suivante: 

from keras.models import Sequential
from keras.layers import Dense

model = Sequential()

model.add(Dense(units=64, activation='relu', input_dim=100))
model.add(Dense(units=10, activation='softmax'))

(Ce n'est pas une piste de pile complète car StackOverflow ne me laissera pas dire qu'il contient du code uniquement) J'ai l'erreur suivante:

--------------------------------------------------------------------
UnboundLocalError                  Traceback (most recent call last)
<ipython-input-49-30ebc8793948> in <module>()
      5 from keras.layers import Dense
      6 
----> 7 model.add(Dense(units=64, activation='relu', input_dim=100))

--> 164                     layer(x)
    165                     set_inputs = True
    166                 else:


/usr/local/lib/python3.7/site-packages/keras/initializers.py in __call__(self, shape, dtype)
   self._message_listener.Modified()

UnboundLocalError: local variable 'self' referenced before assignment

Serait-ce à cause de python 3.7?

3
lpt

Oui, je devais désinstaller et réinstaller Python 3.6. Python 3.7 semble présenter un comportement inattendu. Heureusement, mon problème est maintenant résolu.

2
lpt

J'ai eu le même problème. Le problème semblait être avec python 3.7. Au lieu de désinstaller 3.7 et d'installer 3.6, j'ai téléchargé anaconda, créé un environnement virtuel pour 3.6 avec toutes les autres dépendances.

0
MikeSchem