ImportError:无法导入名称“后端”

时间:2019-02-07 13:36:29

标签: python keras

backend导入keras时遇到ImportError错误

from keras import backend

输出为

Using TensorFlow backend.
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/keras/__init__.py", line 3, in <module>
    from . import utils
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/keras/utils/__init__.py", line 6, in <module>
    from . import conv_utils
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/keras/utils/conv_utils.py", line 9, in <module>
    from .. import backend as K
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/keras/backend/__init__.py", line 89, in <module>
    from .tensorflow_backend import *
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/keras/backend/tensorflow_backend.py", line 5, in <module>
    import tensorflow as tf
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/tensorflow/__init__.py", line 24, in <module>
    from tensorflow.python import pywrap_tensorflow  # pylint: disable=unused-import
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/tensorflow/python/__init__.py", line 88, in <module>
    from tensorflow.python import keras
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/tensorflow/python/keras/__init__.py", line 25, in <module>
    from tensorflow.python.keras import applications
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/tensorflow/python/keras/applications/__init__.py", line 74, in <module>
    from tensorflow.python.keras.applications.densenet import DenseNet121
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/tensorflow/python/keras/applications/densenet/__init__.py", line 21, in <module>
    from tensorflow.python.keras._impl.keras.applications.densenet import decode_predictions
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/tensorflow/python/keras/_impl/keras/applications/densenet.py", line 30, in     module>
    from tensorflow.python.keras._impl.keras import backend as K
ImportError: cannot import name 'backend'

我不知道这可能是问题所在。

2 个答案:

答案 0 :(得分:1)

我已解决了以下问题:卸载kerastensorflow,在site-packages文件夹中删除它们的目录,然后重新安装。

pip3 uninstall tensorflow
pip3 uninstall keras
rm -r /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/keras*
rm -r /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/Keras*
rm -r /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/tensorflow*
pip3 install tensorflow
pip3 install keras

答案 1 :(得分:0)

import tensorflow
from tensorflow.compat.v1.keras.backend import set_session

这在tensorflow == 2.2中起作用