python - tensorflow 2.3下的tensorflow-hub导入错误
问题描述
我的环境:Windows 10
Python 3.8.8(在带有 cuda 10.1 的 anaconda gpu 环境中)
tensorflow 2.3.0
tensorflow-estimator 2.3.0
tensorflow-hub 0.8.0
使用时出错import tensorflow_hub as hub
我得到的错误信息:
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-30-09d6b3aaf170> in <module>
4 from tensorflow.keras.models import Model
5 from tensorflow.keras.callbacks import ModelCheckpoint
----> 6 import tensorflow_hub as hub
7
8 import tokenization
~\.conda\envs\nlp\lib\site-packages\tensorflow_hub\__init__.py in <module>
27 # error message is thrown instead of an obscure error of missing
28 # symbols at executing the imports.
---> 29 from tensorflow_hub.estimator import LatestModuleExporter
30 from tensorflow_hub.estimator import register_module_for_export
31 from tensorflow_hub.feature_column import image_embedding_column
~\.conda\envs\nlp\lib\site-packages\tensorflow_hub\estimator.py in <module>
62
63
---> 64 class LatestModuleExporter(tf_v1.estimator.Exporter):
65 """Regularly exports registered modules into timestamped directories.
66
~\.conda\envs\nlp\lib\site-packages\tensorflow\python\util\lazy_loader.py in __getattr__(self, item)
60
61 def __getattr__(self, item):
---> 62 module = self._load()
63 return getattr(module, item)
64
~\.conda\envs\nlp\lib\site-packages\tensorflow\python\util\lazy_loader.py in _load(self)
43 """Load the module and insert it into the parent's globals."""
44 # Import the target module and insert it into the parent's namespace
---> 45 module = importlib.import_module(self.__name__)
46 self._parent_module_globals[self._local_name] = module
47
~\.conda\envs\nlp\lib\importlib\__init__.py in import_module(name, package)
125 break
126 level += 1
--> 127 return _bootstrap._gcd_import(name[level:], package, level)
128
129
~\.conda\envs\nlp\lib\site-packages\tensorflow_estimator\python\estimator\api\__init__.py in <module>
8 import sys as _sys
9
---> 10 from tensorflow_estimator.python.estimator.api._v1 import estimator
11
12 del _print_function
~\.conda\envs\nlp\lib\site-packages\tensorflow_estimator\python\estimator\api\_v1\estimator\__init__.py in <module>
8 import sys as _sys
9
---> 10 from tensorflow_estimator.python.estimator.api._v1.estimator import experimental
11 from tensorflow_estimator.python.estimator.api._v1.estimator import export
12 from tensorflow_estimator.python.estimator.api._v1.estimator import inputs
~\.conda\envs\nlp\lib\site-packages\tensorflow_estimator\python\estimator\api\_v1\estimator\experimental\__init__.py in <module>
8 import sys as _sys
9
---> 10 from tensorflow_estimator.python.estimator.canned.dnn import dnn_logit_fn_builder
11 from tensorflow_estimator.python.estimator.canned.kmeans import KMeansClustering as KMeans
12 from tensorflow_estimator.python.estimator.canned.linear import LinearSDCA
~\.conda\envs\nlp\lib\site-packages\tensorflow_estimator\python\estimator\canned\dnn.py in <module>
29 from tensorflow.python.keras.utils import losses_utils
30 from tensorflow.python.util.tf_export import estimator_export
---> 31 from tensorflow_estimator.python.estimator import estimator
32 from tensorflow_estimator.python.estimator.canned import head as head_lib
33 from tensorflow_estimator.python.estimator.canned import optimizers
~\.conda\envs\nlp\lib\site-packages\tensorflow_estimator\python\estimator\estimator.py in <module>
50 from tensorflow.python.util.tf_export import estimator_export
51 from tensorflow_estimator.python.estimator import model_fn as model_fn_lib
---> 52 from tensorflow_estimator.python.estimator import run_config
53 from tensorflow_estimator.python.estimator import util as estimator_util
54 from tensorflow_estimator.python.estimator.export import export_lib
~\.conda\envs\nlp\lib\site-packages\tensorflow_estimator\__init__.py in <module>
8 import sys as _sys
9
---> 10 from tensorflow_estimator._api.v1 import estimator
11
12 del _print_function
~\.conda\envs\nlp\lib\site-packages\tensorflow_estimator\_api\v1\estimator\__init__.py in <module>
8 import sys as _sys
9
---> 10 from tensorflow_estimator._api.v1.estimator import experimental
11 from tensorflow_estimator._api.v1.estimator import export
12 from tensorflow_estimator._api.v1.estimator import inputs
~\.conda\envs\nlp\lib\site-packages\tensorflow_estimator\_api\v1\estimator\experimental\__init__.py in <module>
8 import sys as _sys
9
---> 10 from tensorflow_estimator.python.estimator.canned.dnn import dnn_logit_fn_builder
11 from tensorflow_estimator.python.estimator.canned.kmeans import KMeansClustering as KMeans
12 from tensorflow_estimator.python.estimator.canned.linear import LinearSDCA
ImportError: cannot import name 'dnn_logit_fn_builder' from partially initialized module 'tensorflow_estimator.python.estimator.canned.dnn' (most likely due to a circular import) (C:\Users\Admin\.conda\envs\nlp\lib\site-packages\tensorflow_estimator\python\estimator\canned\dnn.py)
解决方案
通过安装最新的 tensorflow hub 版本解决
pip install --upgrade tensorflow_hub
当前版本:
tensorflow-hub 0.12.0
推荐阅读
- javascript - 如何使 Nicescroll 仅适用于某些屏幕尺寸(770 像素及以上)
- python - python2.7中处理UnicodeEncodeError
- time-series - 为什么简单的指数平滑会为不同的观察结果返回相同的预测
- java - 从自定义列表视图中获取每个选中的项目
- arrays - 创建具有多个元素的 Bash 数组
- mobile - 允许在框架中上下触摸控制
- linux - Linux + Wordpress:如何从 Linux Cron 作业中触发函数?
- c++ - 基于管道(非 FIFO)文件权限检查器 C++ 的服务器/客户端
- r - R - 如何创建任意列表列表
- javascript - 页面刷新时受控输入不清晰(Microsoft Edge)