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

时间:2019-09-18 05:05:16

标签: python tensorflow keras oraclelinux

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

ImportError: cannot import name 'tf_utils'

这是完整的输出:

$ 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'

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

2 个答案:

答案 0 :(得分:25)

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

答案 1 :(得分:1)

我遇到了同样的问题,但是通过pip升级了Tensorflow而不是降级了Keras,这解决了问题:)

使用Python 3.6.4,Keras 2.3.1,Tensorflow 2.0