AttributeError: module 'tensorflow' has no attribute 'ConfigProto'

PythonTensorflow

Python Problem Overview


I import tensorflow (version 1.13.1) and need ConfigProto:

import tensorflow as tf

config = tf.ConfigProto(intra_op_parallelism_threads=8,
    inter_op_parallelism_threads=8,
    allow_soft_placement=True,device_count = {'CPU' : 1, 'GPU' : 1})

I get this error:

AttributeError: module 'tensorflow' has no attribute 'ConfigProto'

How do I resolve this?

Python Solutions


Solution 1 - Python

ConfigProto disappeared in tf 2.0, so an elegant solution is:

import tensorflow as tf

and then replace:

tf.ConfigProto by tf.compat.v1.ConfigProto

In fact, the compatibility built in 2.0 to get tf 1.XX: tf.compat.v1 is really helpful.

Useful link: Migrate your tensorflow 1. code to tensorflow 2.: https://www.tensorflow.org/guide/migrate

Solution 2 - Python

I had similar issues, when upgraded to Python 3.7 & Tensorflow 2.0.0 (from Tensorflow 1.2.0)

This is an easy one and works!

If you don't want to touch your code, just add these 2 lines in the main.py file w/ Tensorflow code:

import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()

And that's it!!
NOW Everything should run seamlessly :)

Solution 3 - Python

Just an addition to others looking for an answer for Tensorflow v2

As the others have mentioned, you can use the back-compatability to v1. But Tensorflow v2 does actually come with its own implementation of this. It is just a hidden experimental feature.

This is how to allow the GPU to grow in memory in Tensorflow v2:

# Allow memory growth for the GPU
physical_devices = tf.config.experimental.list_physical_devices('GPU')
tf.config.experimental.set_memory_growth(physical_devices[0], True)

More info found @Tensorflow

Solution 4 - Python

If using tensorflow version > 2.0:

config = tf.compat.v1.ConfigProto()
config.gpu_options.allow_growth=True
sess = tf.compat.v1.Session(config=config)

Solution 5 - Python

I was with a similar error, but i had tensorflow 1.14, ubuntu 18.04 and GTX 1050ti. So a installed properly conda (lastest version - 5.1) even with this the error persisted, so a upgraded tensorflow/tensorflow-gpu to -version tensorflow==2.0.0-beta0 and worked for me.

Solution 6 - Python

Info:

RTX 2080
ubuntu 16.04
cuda 10.0
cuDNN v7.4.1.5
Python V 3.5

pip list:

tensorflow (1.13.1)
tensorflow-gpu (1.13.1)
tf-nightly-gpu (1.14.1.dev20190509)

Code:

import tensorflow as tf
from tensorflow import keras

config = tf.ConfigProto()
config.gpu_options.allow_growth = True
sess = tf.Session(config=config)

output:

> Created TensorFlow device > (/job:localhost/replica:0/task:0/device:GPU:0 with 7439 MB memory) -> > physical GPU (device: 0, name: GeForce RTX 2080, pci bus id: > 0000:02:00.0, compute capability: 7.5)

That works for me !

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionSteCView Question on Stackoverflow
Solution 1 - PythonchabirView Answer on Stackoverflow
Solution 2 - PythonKohn1001View Answer on Stackoverflow
Solution 3 - PythonAlexander FalkView Answer on Stackoverflow
Solution 4 - PythonSooraj SView Answer on Stackoverflow
Solution 5 - PythonThales DominguesView Answer on Stackoverflow
Solution 6 - Python007fredView Answer on Stackoverflow