TensorFlow 'module' object has no attribute 'global_variables_initializer'

Question:

I’m new to Tensorflow
I’m running a Deep learning Assignment from Udacity on iPython notebook.
link

And it has an error.

AttributeError                            Traceback (most recent call last)
`<ipython-input-18-3446420b5935>` in `<module>`()
  2 
  3 with tf.Session(graph=graph) as session:
----> 4   tf.global_variables_initializer().run()

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

Please help! How can I fix this? Thank you.

Asked By: Le D. Thang

||

Answers:

In older versions, it was called tf.initialize_all_variables.

Answered By: drpng

Seems like you’re using tensorflow 0.11 or older versions. If you see this git-commit, they replaced initialize_all_variables with global_variables_initializer.

So, either you can use initialize_all_variables or update to a newer version i.e. (0.12) or later.

Answered By: kmario23

In Tensorflow 1.11 You can use both initialize_all_variables().run() or tf.global_variables_initializer()

  #tf.global_variables_initializer().run()
  tf.initialize_all_variables().run()

both of then works fine on

Answered By: Maoz Tamir

In Tensorflow 2.0 , it does away from session and switches to eager execution. You can still run your code using session if you refer to tf.compat library and disable eager execution. This command should do the work:

tf.compat.v1.global_variables_initializer()
Answered By: ashwinjoseph