模块 'tensorflow._api.v1.compat.v2' 没有属性 '__internal__' google colab 错误

module 'tensorflow._api.v1.compat.v2' has no attribute '__internal__' google colab error

我是 运行 google colab 上的张量流模型。今天,我收到这个错误:

 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版本导致的这个错误,因为4月份colab改成了3.7.10,我没有问题。

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

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

我是运行这段代码来降级我的tensorflow

!pip install tensorflow==1.13.0

我将其替换为:

%tensorflow_version 1.x

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

试试这个:

!pip 卸载 keras-nightly

!pip 安装 h5py==2.10.0

试试这些参数,它对我有用

!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