web-dev-qa-db-fra.com

Keras + tensorflow donne l'erreur "aucun attribut 'control_flow_ops'"

J'essaie d'exécuter des keras pour la première fois. J'ai installé les modules avec:

pip install keras --user
pip install tensorflow --user

puis a essayé d'exécuter https://github.com/fchollet/keras/blob/master/examples/mnist_cnn.py .

Mais cela me donne:

AttributeError: 'module' object has no attribute 'control_flow_ops'

Ce sont les versions que j'utilise.

print tensorflow.__version__
0.11.0rc0
print keras.__version__
1.1.0

Que puis-je faire pour que les keras s'exécutent avec tensorflow?

11
eleanora

Il y a un problème entre Keras et TF, probablement tf.python.control_flow_ops n'existe pas ou n'est plus visible. en utilisant les instructions d'importation ci-dessous, vous pouvez résoudre ce problème

import tensorflow as tf
tf.python.control_flow_ops = tf

Pour plus de détails, vérifiez: https://github.com/fchollet/keras/issues/3857

23
Deepak Sharma

J'ai eu ce problème quand il s'est avéré que keras utilisait le backend Theano. Pour le corriger, effectuez l'une des opérations suivantes:

  • Dans ~/.keras/keras.json ensemble "backend": "tensorflow".
  • Définissez la variable d'environnement KERAS_BACKEND à tensorflow.

Voir la documentation Keras backend pour plus d'informations.

2
Arthur Tacca

Si vous n'utilisez pas TensorFlow 1.0.0; utiliser tf.python_io dans les versions ultérieures

import tensorflow as tf 

tf.python_io.control_flow_ops = tf
0
jayson ruzario