【问题标题】:module 'tensorflow._api.v1.compat.v2' has no attribute '__internal__' google colab error模块 'tensorflow._api.v1.compat.v2' 没有属性 '__internal__' google colab 错误
【发布时间】:2021-05-25 20:02:24
【问题描述】:

我在 google colab 上运行 tensorflow 模型。今天,我收到了这个错误:

 Using TensorFlow backend.
    Traceback (most recent call last):
      File "train.py", line 6, in <module>
        from yolo import create_yolov3_model, dummy_loss
      File "/content/drive/MyDrive/yolo/yolo_plz_work/yolo.py", line 1, in <module>
        from keras.layers import Conv2D, Input, BatchNormalization, LeakyReLU, ZeroPadding2D, UpSampling2D, Lambda
      File "/usr/local/lib/python3.7/dist-packages/keras/__init__.py", line 3, in <module>
        from . import utils
      File "/usr/local/lib/python3.7/dist-packages/keras/utils/__init__.py", line 26, in <module>
        from .vis_utils import model_to_dot
      File "/usr/local/lib/python3.7/dist-packages/keras/utils/vis_utils.py", line 7, in <module>
        from ..models import Model
      File "/usr/local/lib/python3.7/dist-packages/keras/models.py", line 10, in <module>
        from .engine.input_layer import Input
      File "/usr/local/lib/python3.7/dist-packages/keras/engine/__init__.py", line 3, in <module>
        from .input_layer import Input
      File "/usr/local/lib/python3.7/dist-packages/keras/engine/input_layer.py", line 7, in <module>
        from .base_layer import Layer
      File "/usr/local/lib/python3.7/dist-packages/keras/engine/base_layer.py", line 12, in <module>
        from .. import initializers
      File "/usr/local/lib/python3.7/dist-packages/keras/initializers/__init__.py", line 124, in <module>
        populate_deserializable_objects()
      File "/usr/local/lib/python3.7/dist-packages/keras/initializers/__init__.py", line 49, in populate_deserializable_objects
        LOCAL.GENERATED_WITH_V2 = tf.__internal__.tf2.enabled()
      File "/usr/local/lib/python3.7/dist-packages/tensorflow_core/python/util/module_wrapper.py", line 193, in __getattr__
        attr = getattr(self._tfmw_wrapped_module, name)
    AttributeError: module 'tensorflow._api.v1.compat.v2' has no attribute '__internal__'

以前,事情一直很顺利,所以我不知道为什么会这样。 我正在使用 Python 3.7.10,这些是我应该使用的包:

absl-py==0.9.0
astor==0.8.1
gast==0.2.2
google-pasta==0.1.8
grpcio==1.26.0
h5py==2.10.0
Keras==2.3.1
Keras-Applications==1.0.8
Keras-Preprocessing==1.1.0
Markdown==3.1.1
numpy==1.18.1
opencv-contrib-python==4.1.2.30
opt-einsum==3.1.0
protobuf==3.11.2
PyYAML==5.3
scipy==1.4.1
six==1.14.0
tensorboard==1.15.0
tensorflow==1.15.0
tensorflow-estimator==1.15.1
termcolor==1.1.0
tqdm==4.41.1
Werkzeug==0.16.0
wrapt==1.11.2

也许 colab 最近升级了一些库?我确信我遵循了与通常相同的安装步骤。

编辑: 我认为keras版本可能存在问题。 这是我正在运行的文件的前几行:

from keras.layers import Conv2D, Input, BatchNormalization, LeakyReLU, ZeroPadding2D, UpSampling2D, Lambda
from keras.layers.merge import add, concatenate
from keras.models import Model
from keras.engine.topology import Layer
import tensorflow as tf

如果我删除所有以“from keras”开头的行,我不会收到错误消息。但是,我以前从未接触过这些行,所以我不知道为什么它们现在会突然导致错误。另外,不是python版本导致这个错误,因为colab在4月份把它改成了3.7.10,我没有问题。

【问题讨论】:

  • 我也有同样的问题
  • 我在论文中遇到了同样的问题。几天前它工作正常,然后突然出现此错误。它快把我逼疯了。
  • Keras 显然是在抛出这个问题。我会在 Tensoflow 和 Keras 上打开一个 github 问题:` File "/usr/local/lib/python3.7/dist-packages/keras/initializers/__init__.py",第 49 行,在 populate_deserializable_objects LOCAL.GENERATED_WITH_V2 = tf. __internal__.tf2.enabled()`
  • 此问题是由于最近将colab 升级到TF 2.5.0,强制升级到keras-nightly。欲了解更多信息,您可以参考here。谢谢!

标签: python tensorflow google-colaboratory


【解决方案1】:

试试这些参数,对我有用

!pip3 uninstall keras-nightly
!pip3 uninstall -y tensorflow
!pip3 install keras==2.1.6
!pip3 install tensorflow==1.15.0
!pip3 install h5py==2.10.0

【讨论】:

  • ModuleNotFoundError: No module named 'keras.models'
【解决方案2】:

一天早上我醒来,我的代码给出了完全相同的错误(在 google colab 中)。

我正在运行此代码来降级我的张量流

!pip install tensorflow==1.13.0

我将其替换为:

%tensorflow_version 1.x

其他一切都保持不变。成功了!

【讨论】:

  • 哇。这实际上奏效了。你知道为什么会这样吗?
  • Colab 默认加载 tensorflow 2。您必须使用 %tensorflow_version 1.x 声明才能使用 1.x
【解决方案3】:

尝试使用this 链接将 Python 降级到 3.6。您需要重新安装之前使用的软件包。

【讨论】:

  • 欢迎来到SO,请提供更多详细信息
【解决方案4】:

试试这个:

!pip 卸载 keras-nightly

!pip install h5py==2.10.0

【讨论】:

    猜你喜欢
    • 2021-08-14
    • 2021-08-14
    • 2020-06-29
    • 2021-06-09
    • 2021-02-06
    • 2021-08-14
    • 1970-01-01
    • 1970-01-01
    • 2019-08-09
    相关资源
    最近更新 更多