【问题标题】:Tensorflow 2x - ModuleNotFoundError: No module named 'tensorflow.contrib'Tensorflow 2x - ModuleNotFoundError:没有名为“tensorflow.contrib”的模块
【发布时间】:2020-12-02 20:54:31
【问题描述】:

我正在开发一个 Tensorflow 项目,该项目需要升级以使用 tensorflow==2.2.0,并且由于与其他软件包的可比性,无法再使用 Tensorflow 1.x。

但是,升级后,我收到以下错误:

  File "/opt/app-root/lib/python3.6/site-packages/tflearn/__init__.py", line 4, in <module>
    from . import config
  File "/opt/app-root/lib/python3.6/site-packages/tflearn/config.py", line 5, in <module>
    from .variables import variable
  File "/opt/app-root/lib/python3.6/site-packages/tflearn/variables.py", line 7, in <module>
    from tensorflow.contrib.framework.python.ops import add_arg_scope as contrib_add_arg_scope
ModuleNotFoundError: No module named 'tensorflow.contrib'

我能找到的关于此错误的唯一帮助是降级。

在使用 tflearn 时,推荐的迁移到 Tensorflow 2.x 的方法是什么?

【问题讨论】:

  • 你知道你在转发哪个类的 tf.contrib 吗?
  • 我认为是tflearn
  • add_arg_scope
  • 经过一些研究后,我认为您无法使用 tflearn 迁移到 tensorflow 2.0,tflearn 的全部目的是 tf 1 的高级 api,这就是为什么 tf.keras 出现在 tf 2.0 中,所以迁移了一个包装器大多数情况是不可能的。
  • 你试过了吗? tensorflow.org/guide/upgrade

标签: tensorflow tensorflow2.0


【解决方案1】:

这是不可能的。您必须重建不同的例程,并且需要相应地更改几个功能。 1.X 和 2.X 版本之间没有 100% 的差异,但至少有些功能是新的,有些旧的选项已被弃用。如果您逐步升级,您会看到下一级升级的弃用警告。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-07
    • 1970-01-01
    • 2022-06-28
    • 1970-01-01
    • 2020-02-23
    • 1970-01-01
    • 2020-07-13
    相关资源
    最近更新 更多