簡體   English   中英

ImportError:無法從“tensorflow.python.eager”(未知位置)導入名稱“context”

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

我創建了虛擬環境並安裝了 tensorflow 和 tensorflow-gpu。 之后我安裝了 keras。 然后我通過導入 keras 檢查了我的 conda 終端,我能夠在其中導入 keras。 但是,如果我嘗試導入 keras 使用 jupyter 筆記本,則會出現以下錯誤。

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。 我對編程很陌生,所以我不確定如何圍繞它進行 go。 嘗試尋找其他線程但沒有幫助。 任何人都可以推薦我可以做些什么來解決它? 謝謝

您是否使用 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

在下面做解決了我的問題。

所以我刪除了所有通過 pip 安裝的包並通過 conda 安裝包。 我遇到了環境問題並從頭開始創建了另一個環境並在命令下運行。 創建虛擬環境:

conda create -n <env_name>

通過 conda 而不是 pip 安裝 tensorflow-gpu。 如果您跳過創建環境命令,請在下面輸入,因為它將刮掉新的環境並指定 python 和 tensorflow 版本。

conda create -n <env_name> python=3.6 tensorflow-gpu=2.2

然后我必須確保 jupyter notebook 在我希望它打開的環境中打開。 對於下面的代碼。

C:\Users\Adi(Your user here)\Anaconda3\envs\env_name\python.exe -m ipykernel install --user --name <env_name> --display-name "Python (env_name)"

當您將 go 連接到 Jupyter 筆記本時,您應該在右上角看到您的虛擬環境,並確保您是 select。 它就這樣解決了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM