首页 > 解决方案 > ImportError:无法从“tensorflow.python.eager”(未知位置)导入名称“context”

问题描述

我创建了虚拟环境并安装了 tensorflow 和 tensorflow-gpu。之后我安装了keras。然后我通过导入 keras 来检查我的 conda 终端,我能够在其中导入 keras。但是,如果我尝试导入 keras,则使用 jupyter notebook 会出现以下错误。

import keras
ImportError                               Traceback (most recent call last)
<ipython-input-5-88d96843a926> in <module>
----> 1 import keras

~\Anaconda3\lib\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

~\Anaconda3\lib\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

~\Anaconda3\lib\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 

~\Anaconda3\lib\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

~\Anaconda3\lib\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.

~\Anaconda3\lib\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

ImportError: cannot import name 'context' from 'tensorflow.python.eager' (unknown location)

已经尝试卸载和安装 keras 和 tensorflow。我对编程很陌生,所以我不知道如何解决它。尝试寻找其他线程但没有帮助。任何人都可以推荐我可以做些什么来解决它?谢谢

标签: pythontensorflowkeraspython-importimporterror

解决方案


您是否使用 conda 安装了依赖项?像这样:

 $ conda install -c conda-forge keras

 $ conda install -c conda-forge tensorflow

 $ conda install -c anaconda tensorflow-gpu

如果您安装了它们,pip它们将无法在您的虚拟环境中工作。查看您的 conda 依赖项列表,看看 tensorflow 和 keras 是否真的存在使用:

$ conda list

如果是,请激活您的虚拟环境:

$ conda activate 'name_of_your_env'

并在其中运行 jupyter,应该是这样的(如果您的 env 在括号中显示激活有效,并且您现在在虚拟 env 中):

(your_env)$ jupyter notebook

推荐阅读