在训练yolov3框架时,始终会出现此模块错误
我尝试重新安装keras和tensorflow,而keras的版本为2.3.0,而tensorflow的版本为1.14.0。
Traceback (most recent call last):
File "train.py", line 6, in <module>
import keras.backend as K
File "F:\Anacoda\lib\site-packages\keras\__init__.py", line 3, in <module>
from . import utils
File "F:\Anacoda\lib\site-packages\keras\utils\__init__.py", line 27, in <module>
from .multi_gpu_utils import multi_gpu_model
File "F:\Anacoda\lib\site-packages\keras\utils\multi_gpu_utils.py", line 7, in <module>
from ..layers.merge import concatenate
File "F:\Anacoda\lib\site-packages\keras\layers\__init__.py", line 4, in <module>
from ..engine.base_layer import Layer
File "F:\Anacoda\lib\site-packages\keras\engine\__init__.py", line 8, in <module>
from .training import Model
File "F:\Anacoda\lib\site-packages\keras\engine\training.py", line 21, in <module>
from . import training_arrays
File "F:\Anacoda\lib\site-packages\keras\engine\training_arrays.py", line 14, in <module>
from .. import callbacks as cbks
File "F:\Anacoda\lib\site-packages\keras\callbacks\__init__.py", line 19, in <module>
if K.backend() == 'tensorflow' and not K.tensorflow_backend._is_tf_1():
AttributeError: module 'keras.backend.tensorflow_backend' has no attribute '_is_tf_1'
答案 0 :(得分:7)
import->将tensorflow导入为tf
然后使用
tf.compat.v1.keras.backend.
作为所需属性的前缀
答案 1 :(得分:1)
我遇到了同样的错误并尝试安装和卸载。最后我发现这个库实际上并没有正确安装。
我浏览了我的每个图书馆:
C:\Users\MyName\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\
我在 Keras 的站点包中找到了该文件,该文件是从 Tensorflow 库调用的,该库是从另一个文件夹调用的。我发现最后一个文件夹有 get_session(),但它没有被调用。当我检查目录时,我发现 get_session 没有被加载。在文件目录 /tensorflow/keras/backend.py 中它是导入所有内容,但错过了 get_session。
为了解决这个问题,我添加了这一行:
from tensorflow.python.keras.backend import get_session
然后保存它。下次我运行我的代码时就好了。我建议对你的文件做类似的处理,找到调用属性的位置并确保它被导入。
答案 2 :(得分:0)
我通过将keras.XXX替换为tensorflow.keras.XXX来解决此问题
尝试替换
import keras.backend as K
到
import tensorflow.keras.backend as K
答案 3 :(得分:0)
确保您的keras版本正确。如果您的后弯是张量流,则可以
import tensorflow as tf
print(tf.VERSION)
print(tf.keras.__version__)
获取正确的keras版本,然后安装该版本,我通过这种方式解决了这个问题,希望我的回答对您有所帮助。
答案 4 :(得分:0)
在 Python 3.6 上安装 TensorFlow 1.14.0 + Keras 2.2.5 可修复此问题
答案 5 :(得分:-1)
pip3 uninstall keras pip3 install keras --upgrade