我无法在Google Colab上导入Tensorflow

时间:2020-08-08 14:13:38

标签: python tensorflow google-colaboratory tensorflow2.0 object-detection-api

我正在尝试在Google Colab上训练自定义对象检测模型。我正在使用Tensorflow gpu 2.2.0。 但是当我尝试在第4单元中导入库时(您可以在下面看到),我得到了error:AttributeError:模块'tensorflow.python.keras.utils.generic_utils'没有属性'populate_dict_with_module_objects'。 我尝试与Tensorflow gpu 2.1.0相同,但效果不佳。当我尝试在没有import tensorflow as tf的情况下运行第四个单元格时,它会正常运行。这背后的原因是什么?无论如何,我都需要解决这个问题。

    (1) !pip install -U --pre tensorflow_gpu=="2.2.0"
    (2) import os
        import pathlib


       #To Clone the tensorflow models repository if it doesn't already exist
       if "models" in pathlib.Path.cwd().parts:
           while "models" in pathlib.Path.cwd().parts:
             os.chdir('..')
       elif not pathlib.Path('models').exists():
           !git clone --depth 1 https://github.com/tensorflow/models
 
     (3)  # To Install the Object Detection API
          %%bash
         cd models/research/
         protoc object_detection/protos/*.proto --python_out=.
         cp object_detection/packages/tf2/setup.py .
         python -m pip install .
 

    (4)  import matplotlib
         import matplotlib.pyplot as plt


         import os
         import random
         import io
         import imageio
         import glob
         import scipy.misc
         import numpy as np
         from six import BytesIO
         from PIL import Image, ImageDraw, ImageFont
         from IPython.display import display, Javascript
         from IPython.display import Image as IPyImage

         import tensorflow as tf

         from object_detection.utils import label_map_util
         from object_detection.utils import config_util
         from object_detection.utils import visualization_utils as viz_utils
         from object_detection.utils import colab_utils
         from object_detection.builders import model_builder

         %matplotlib inline

以下是错误的图片:

enter image description here

2 个答案:

答案 0 :(得分:0)

这似乎是您的导入语句中的错字:

from tensorflow.python.keras.utils.generic_utils import populate_dict_with_module_objects

在Google colab中为我工作,

from tensorflow.python.keras.util.generic_utils import populate_dict_with_module_objects

没有。

也许可以在object_detection.utils模块中更改该行。

答案 1 :(得分:0)

%tensorflow_version 2.x

!pip 卸载 keras-nightly

!pip uninstall -y tensorflow

!pip install tensorflow-gpu==1.15.0

!pip install keras==2.1.6

!pip uninstall -y h5py

!pip install h5py==2.10.0

试试这个组合。我遇到了和你一样的问题。该代码现在适用于 gpu。