AttributeError:模块“ tensorflow”没有属性“ ConfigProto”

时间:2019-05-14 09:52:16

标签: tensorflow

我在Pytorch工作。 我可以导入tensorflow(版本1.13.1),并且需要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})

我得到标题错误。这与所使用的Keras的版本问题/版本有关(我在这里也拥有最新版本)吗? 致以诚挚的问候和谢意。

6 个答案:

答案 0 :(得分:2)

升级到Python 3.7和Tensorflow 2.0.0(来自Tensorflow 1.2.0)时,我遇到了类似的问题

这是一个简单且有效的方法!

如果您不想触摸代码,只需在带有Tensorflow代码的main.py文件中添加以下两行:

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

就是这样!
现在,所有内容都应无缝运行:)

答案 1 :(得分:0)

信息:

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

点列表:

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

代码:

import tensorflow as tf
from tensorflow import keras

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

输出:

  

创建的TensorFlow设备   (/ job:本地主机/副本:0 /任务:0 /设备:GPU:0具有7439 MB内存)->   物理GPU(设备:0,名称:GeForce RTX 2080,pci总线ID:   0000:02:00.0,计算能力:7.5)

对我有用!

答案 2 :(得分:0)

我也遇到类似的错误,但是我有tensorflow 1.14,ubuntu 18.04和GTX 1050ti。因此,正确安装了conda(最新版本-5.1) 即使错误仍然存​​在,所以将tensorflow / tensorflow-gpu升级到-version tensorflow == 2.0.0-beta0并为我工作。

答案 3 :(得分:0)

ConfigProto在tf 2.0中消失了,所以一个优雅的解决方案是替换:

tf.ConfigPrototf.compat.v1.ConfigProto

实际上,2.0中内置的兼容性可以获取tf 1:tf.compat.v1确实很有帮助。

答案 4 :(得分:0)

只是为Tensorflow v2寻求答案的其他人

正如其他人所提到的,您可以使用v1的向后兼容性。但是Tensorflow v2实际上确实带有它自己的实现。这只是一个隐藏的实验功能。

这是在Tensorflow v2中如何允许GPU在内存中增长的方法:

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

找到更多信息@Tensorflow

答案 5 :(得分:0)

如果使用 tensorflow 版本 > 2.0:

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