【问题标题】:ModuleNotFoundError: No module named 'tensorflow.python.eager' when loading Sequential modelModuleNotFoundError:加载顺序模型时没有名为“tensorflow.python.eager”的模块
【发布时间】:2020-10-01 14:05:01
【问题描述】:

尝试从 keras.models 导入 Sequential 时,我收到如下所示的错误。 我已经通过 PIP 卸载并重新安装了 tensorflow,但我不确定我还能做些什么来解决这个问题。 尽管我过去能够使用 Keras,但我不确定是什么搞砸了。

我在安装了 Tensorflow 2.2.0 的 MacOS x86_64 上使用 Python 3.6.0。

提前感谢您的帮助。


ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-55-9a7e0bd7095e> in <module>()
----> 1 from keras.models import Sequential
      2 from keras.layers import Conv2D, MaxPooling2D, Dropout, Flatten, Dense, Activation, BatchNormalization
      3 from keras.callbacks import EarlyStopping, ReduceLROnPlateau
      4 
      5 model = Sequential()

/Applications/anaconda3/lib/python3.6/site-packages/keras/__init__.py in <module>()
      1 from __future__ import absolute_import
      2 
----> 3 from . import utils
      4 from . import activations
      5 from . import applications

/Applications/anaconda3/lib/python3.6/site-packages/keras/utils/__init__.py in <module>()
      4 from . import data_utils
      5 from . import io_utils
----> 6 from . import conv_utils
      7 from . import losses_utils
      8 from . import metrics_utils

/Applications/anaconda3/lib/python3.6/site-packages/keras/utils/conv_utils.py in <module>()
      7 from six.moves import range
      8 import numpy as np
----> 9 from .. import backend as K
     10 
     11 

/Applications/anaconda3/lib/python3.6/site-packages/keras/backend/__init__.py in <module>()
----> 1 from .load_backend import epsilon
      2 from .load_backend import set_epsilon
      3 from .load_backend import floatx
      4 from .load_backend import set_floatx
      5 from .load_backend import cast_to_floatx

/Applications/anaconda3/lib/python3.6/site-packages/keras/backend/load_backend.py in <module>()
     88 elif _BACKEND == 'tensorflow':
     89     sys.stderr.write('Using TensorFlow backend.\n')
---> 90     from .tensorflow_backend import *
     91 else:
     92     # Try and load external backend.

/Applications/anaconda3/lib/python3.6/site-packages/keras/backend/tensorflow_backend.py in <module>()
      4 
      5 import tensorflow as tf
----> 6 from tensorflow.python.eager import context
      7 from tensorflow.python.framework import device as tfdev
      8 from tensorflow.python.framework import ops as tf_ops

ModuleNotFoundError: No module named 'tensorflow.python.eager'

【问题讨论】:

    标签: python python-3.x tensorflow keras


    【解决方案1】:

    试试这个。你可能没有更新的 tensorflow.estimator 包

    pip uninstall tensorflow_estimator
    pip install -Iv tensorflow_estimator==1.13.0
    

    【讨论】:

    • 谢谢!看起来它没有像你指出的那样安装。但是,现在它的方式“没有名为“tensorflow”的模块。回顾我的命令行,我发现以下错误:安装收集的包:tensorflow-estimator,wrapt,tensorflow 尝试卸载:tensorflow-estimator 找到现有安装:tensorflow-estimator 1.13.0 卸载 tensorflow-estimator-1.13.0:成功卸载 tensorflow-estimator-1.13.0 正在尝试卸载:wrapt 找到现有安装:wrapt 1.10.11 错误:无法卸载“wrapt”
    • 所以看起来它没有安装 tensorflow-estimator、wrapt 或 tensorflow,因为它无法卸载 wrapt,导致模块的安装被中止。它是否正确?完整的错误显示“这是一个 distutils 安装的项目,因此我们无法准确确定哪些文件属于它,这只会导致部分卸载”。如何完全卸载此模块以便重新安装其他模块?
    • 我通过命令行删除了“wrapt”目录并重新安装了tensorflow。看起来成功了!
    猜你喜欢
    • 1970-01-01
    • 2017-12-14
    • 2022-07-02
    • 2019-03-28
    • 2018-08-04
    • 1970-01-01
    • 1970-01-01
    • 2022-01-07
    相关资源
    最近更新 更多