Attributeerror: Module 'Tensorflow' Has No Attribute 'Configproto'

Attributeerror: Module 'Tensorflow' Has No Attribute 'Configproto'

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?

2

6 Answers

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.:

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 :)

1

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

1

If using tensorflow version > 2.0:

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

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.

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 !

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Robert Thorne
Author

Robert Thorne

Robert Thorne covers electric vehicle innovations, autonomous driving systems, global mobility trends, and automotive engineering developments.