Keras + tensorflow gives the error "no attribute 'control_flow_ops'"

There is an issue between Keras and TF, Probably tf.python.control_flow_ops does not exist or not visible anymore. using below import statements you can resolve this issue

import tensorflow as tf
tf.python.control_flow_ops = tf

For Details check: https://github.com/fchollet/keras/issues/3857


I got this problem when it turns out keras was using the Theano backend. To fix it do one of these:

  • In ~/.keras/keras.json set "backend": "tensorflow".
  • Set the environment variable KERAS_BACKEND to tensorflow.

See Keras backend documentation for more information.


If not Using TensorFlow 1.0.0; use tf.python_io in later versions

import tensorflow as tf 

tf.python_io.control_flow_ops = tf