Keras + tensorflow дает ошибку "no attribute" control_flow_ops '"

Я пытаюсь запустить keras в первый раз. Я установил модули с помощью:

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

а затем попытался запустить https://github.com/fchollet/keras/blob/master/examples/mnist_cnn.py.

Однако это дает мне:

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

Это версии, которые я использую.

print tensorflow.__version__
0.11.0rc0
print keras.__version__
1.1.0

Что я могу сделать, чтобы keras запускался с помощью тензорного потока?

Ответ 1

Существует проблема между Keras и TF, вероятно, tf.python.control_flow_ops больше не существует или не отображается.  используя приведенные ниже операторы импорта, вы можете решить эту проблему.

import tensorflow as tf
tf.python.control_flow_ops = tf

Для проверки деталей: https://github.com/fchollet/keras/issues/3857

Ответ 2

У меня возникла эта проблема, когда оказалось, что keras использовал бэкэнд Theano. Чтобы исправить это, выполните одно из следующих действий:

  • В ~/.keras/keras.json установите "backend": "tensorflow".
  • Задайте переменную окружения KERAS_BACKEND tensorflow.

Дополнительную информацию см. в документации Keras backend.