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

Ste*_*teC 8 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})
Run Code Online (Sandbox Code Playgroud)

我得到标题中的错误。这与所使用的Keras的版本问题/版本有关(我在这里也拥有最新版本)吗?亲切的问候和预先的感谢。

Koh*_*001 22

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

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

如果您不想修改代码,只需在 main.py 文件中添加以下 2 行代码,并使用 Tensorflow 代码:

import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
Run Code Online (Sandbox Code Playgroud)

就是这样!!
现在一切都应该无缝运行:)


cha*_*bir 17

ConfigProto在tf 2.0中消失了,因此一个优雅的解决方案是:

import tensorflow as tf
Run Code Online (Sandbox Code Playgroud)

然后替换:

tf.ConfigProto 通过 tf.compat.v1.ConfigProto

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

有用的链接:将您的tensorflow 1.代码迁移到tensorflow 2 .: https://www.tensorflow.org/guide/migrate


小智 7

如果使用tensorflow版本> 2.0:

config = tf.compat.v1.ConfigProto()
config.gpu_options.allow_growth=True
sess = tf.compat.v1.Session(config=config)
Run Code Online (Sandbox Code Playgroud)


Ale*_*alk 5

只是寻找 Tensorflow v2 答案的其他人的补充

正如其他人提到的,您可以使用 v1.1 的向后兼容性。但是 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)
Run Code Online (Sandbox Code Playgroud)

发现更多信息@Tensorflow


007*_*red -1

信息:

RTX 2080
ubuntu 16.04
cuda 10.0
cuDNN v7.4.1.5
Python V 3.5
Run Code Online (Sandbox Code Playgroud)

点列表:

tensorflow (1.13.1)
tensorflow-gpu (1.13.1)
tf-nightly-gpu (1.14.1.dev20190509)
Run Code Online (Sandbox Code Playgroud)

代码:

import tensorflow as tf
from tensorflow import keras

config = tf.ConfigProto()
config.gpu_options.allow_growth = True
sess = tf.Session(config=config)
Run Code Online (Sandbox Code Playgroud)

输出:

创建 TensorFlow 设备(/job:localhost/replica:0/task:0/device:GPU:0,内存为 7439 MB)-> 物理 GPU(设备:0,名称:GeForce RTX 2080,pci 总线 id:0000:02: 00.0,计算能力:7.5)

这对我行得通 !