模块“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”没有属性“GPUOptions”
AttributeError:模块'tensorflow'在更新后没有属性'python'错误
AttributeError:模块“tensorflow.contrib”没有属性“估计器”