使用导入Keras时无法导入名称'tf_utils'

Chr*_*han 5 python keras tensorflow oraclelinux

我正在使用Oracle Linux 7.7,并且使用yum(epel仓库)安装了python3.6。然后我安装了tensorflow 1.5(因为如果它更新了,我会丢弃内核)和keras。如果我导入tensorflow,我什么也没有。但是当我进口喀拉拉邦时,我得到了

ImportError: cannot import name 'tf_utils'
Run Code Online (Sandbox Code Playgroud)

这是完整的输出:

$ python
Python 3.6.8 (default, Aug  7 2019, 08:02:28) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39.0.1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow
>>> import keras
Using TensorFlow backend.
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/reyhan/project/.virtualenvs/keras_tf/lib/python3.6/site-packages/keras/__init__.py", line 3, in <module>
from . import utils
  File "/home/reyhan/project/.virtualenvs/keras_tf/lib/python3.6/site-packages/keras/utils/__init__.py", line 6, in <module>
from . import conv_utils
  File "/home/reyhan/project/.virtualenvs/keras_tf/lib/python3.6/site-packages/keras/utils/conv_utils.py", line 9, in <module>
from .. import backend as K
  File "/home/reyhan/project/.virtualenvs/keras_tf/lib/python3.6/site-packages/keras/backend/__init__.py", line 1, in <module>
from .load_backend import epsilon
  File "/home/reyhan/project/.virtualenvs/keras_tf/lib/python3.6/site-packages/keras/backend/load_backend.py", line 90, in <module>
from .tensorflow_backend import *
  File "/home/reyhan/project/.virtualenvs/keras_tf/lib/python3.6/site-packages/keras/backend/tensorflow_backend.py", line 13, in <module>
from tensorflow.python.keras.utils import tf_utils
ImportError: cannot import name 'tf_utils'
Run Code Online (Sandbox Code Playgroud)

我以前通过从源代码构建它来使用python 3.6,而keras可以正常工作,但是由于我无法为pyplot安装tkinter,因此我将其卸载并使用yum中的一个。

Chr*_*han 22

好像是keras 2.3.0的问题,我使用pip安装了keras 2.1.5,它工作正常。

  • 我有相同的问题,通过pip卸载keras并重新安装keras 2.2.0(pip install keras == 2.2.0),我的问题解决了。我在Ubuntu 18.04上使用python 2.7.15 (3认同)