模块“tensorflow”没有属性“GPUOptions”

Posted

技术标签:

【中文标题】模块“tensorflow”没有属性“GPUOptions”【英文标题】:module 'tensorflow' has no attribute 'GPUOptions' 【发布时间】:2019-09-18 21:24:53 【问题描述】:

我正在使用带有 GTX 960M 的戴尔笔记本电脑,并且我安装了 tensorflow 2.0 alpha。我曾经使用 1.5 版本,它与 tf.GPUOptions 一起使用,但在这个版本中,这会导致 error: AttributeError: module 'tensorflow' has no attribute 'GPUOptions' 如果我在这个版本中做错了,有人帮助我

Traceback(最近一次调用最后一次): 文件“prepare_training.py”,第 20 行,在 gpu_option = tf.GPUOptions(per_process_gpu_memory_fraction=0.333) AttributeError: 模块 'tensorflow' 没有属性 'GPUOptions'

【问题讨论】:

像这些更改到更高的主要版本会破坏向后兼容性。你不能指望在不更改原始代码的情况下进行升级。 当然!但我找不到任何有关 GPUOption 兼容功能或配置的文档。那是我的问题。谢谢! 浏览文档tf.config.gpu.set_per_process_memory_fraction(FRAC) 谢谢!我刚刚找到它! 【参考方案1】:

Tensorflow 2.x 与 1.x 相比发生了重大变化。

根据官方沟通,

tf.contrib 将从核心 TensorFlow 存储库和构建过程中删除。 TensorFlow 的 contrib 模块已经超出了单个存储库中可以维护和支持的范围。较大的项目最好单独维护,而较小的扩展将升级到核心 TensorFlow 代码。已经成立了一个特殊兴趣小组 (SIG),以维护和进一步开发一些更重要的贡献项目。如果您有兴趣贡献,请与this RFC 联系。

如果你想使用tensorflow 1.x的函数/方法,tensorflow 2.x中有一个兼容性模块。

tf.compat.v1.GPUOptions(per_process_gpu_memory_fraction=0.333)

【讨论】:

什么是 per_process_gpu_memory_fraction? @SenthilVikramVodapalli 这是一个配置参数,用于限制 tensorflow 对 GPU 的使用。默认情况下,tf 会消耗所有 GPU 内存。

以上是关于模块“tensorflow”没有属性“GPUOptions”的主要内容,如果未能解决你的问题,请参考以下文章

TensorFlow,“‘模块’对象没有属性‘占位符’”

模块“tensorflow”没有属性“GPUOptions”

AttributeError:模块'tensorflow'在更新后没有属性'python'错误

AttributeError:模块“tensorflow.contrib”没有属性“估计器”

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

AttributeError:模块“tensorflow.estimator”没有属性“SessionRunHook”