AttributeError: 模块“tensorflow.python.keras.backend”没有属性“get_graph”

anm*_*pro 4 python keras tensorflow keras-layer tf.keras

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

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

Run Code Online (Sandbox Code Playgroud)

我不知道该怎么办。我尝试将“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'
Run Code Online (Sandbox Code Playgroud)

我的进口:

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

Run Code Online (Sandbox Code Playgroud)

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

小智 7

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

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

pip install tensorflow==1.14.0
pip install keras==2.2.0
Run Code Online (Sandbox Code Playgroud)

  • 我为此讨厌 TensorFlow。单一版本没有任何效果。即使有较小的版本更改,也会发生重大问题。 (3认同)
  • 完全同意。张量流被广泛使用。就版本变更而言应该是兼容的。@PrameshBajracharya (3认同)