首页 > 解决方案 > AttributeError:模块“tensorflow.python.keras.backend”没有属性“get_graph”

问题描述

我一直在研究用于物体检测的 keras yolov3 模型。这个错误不断出现。这是错误:

AttributeError: module 'tensorflow.python.keras.backend' has no attribute 'get_graph'

我不知道该怎么办。我尝试将“import keras.module.module”替换为“tensorflow.keras.module.module”。但它仍然不起作用。

完整的输出代码:

runfile('G:/Traffic Violation Detection/object_detection.py', wdir='G:/Traffic Violation Detection')
Using TensorFlow backend.
Traceback (most recent call last):

  File "<ipython-input-3-0715decb6662>", line 1, in <module>
    runfile('G:/Traffic Violation Detection/object_detection.py', wdir='G:/Traffic Violation Detection')

  File "C:\Users\HP-NPC\Anaconda3\envs\virtual_platform\lib\site-packages\spyder\utils\site\sitecustomize.py", line 710, in runfile
    execfile(filename, namespace)

  File "C:\Users\HP-NPC\Anaconda3\envs\virtual_platform\lib\site-packages\spyder\utils\site\sitecustomize.py", line 101, in execfile
    exec(compile(f.read(), filename, 'exec'), namespace)

  File "G:/Traffic Violation Detection/object_detection.py", line 6, in <module>
    from keras.layers.merge import add, concatenate

  File "C:\Users\HP-NPC\Anaconda3\envs\virtual_platform\lib\site-packages\keras\__init__.py", line 3, in <module>
    from . import utils

  File "C:\Users\HP-NPC\Anaconda3\envs\virtual_platform\lib\site-packages\keras\utils\__init__.py", line 6, in <module>
    from . import conv_utils

  File "C:\Users\HP-NPC\Anaconda3\envs\virtual_platform\lib\site-packages\keras\utils\conv_utils.py", line 9, in <module>
    from .. import backend as K

  File "C:\Users\HP-NPC\Anaconda3\envs\virtual_platform\lib\site-packages\keras\backend\__init__.py", line 1, in <module>
    from .load_backend import epsilon

  File "C:\Users\HP-NPC\Anaconda3\envs\virtual_platform\lib\site-packages\keras\backend\load_backend.py", line 90, in <module>
    from .tensorflow_backend import *

  File "C:\Users\HP-NPC\Anaconda3\envs\virtual_platform\lib\site-packages\keras\backend\tensorflow_backend.py", line 54, in <module>
    get_graph = tf_keras_backend.get_graph

AttributeError: module 'tensorflow.python.keras.backend' has no attribute 'get_graph'

我的进口:

import numpy as np
from tensorflow.keras.layers import Conv2D, Input, BatchNormalization, LeakyReLU, ZeroPadding2D, UpSampling2D
from keras.layers.merge import add, concatenate
from tensorflow.keras.models import Model
import struct
import cv2
import imageio

完整代码请访问:https ://colab.research.google.com/drive/1oVR7swBqjfqxR50C3xt89w1vGEAaTFcK#scrollTo=rpSn_HsUHbGF

标签: pythontensorflowkeraskeras-layertf.keras

解决方案


“用于对象检测的 YOLOv3 模型”项目存在一些版本问题。我遇到了同样的问题,我使用了 tensorflow 1.14.0 和 keras 2.2.0。

只需覆盖特定版本。在命令行中写入。

pip install tensorflow==1.14.0
pip install keras==2.2.0

推荐阅读