【问题标题】:I have this error when trying to import tensorflow_hub: cannot import name 'parameter_server_strategy_v2' from 'tensorflow.python.distribute'尝试导入 tensorflow_hub 时出现此错误:无法从“tensorflow.python.distribute”导入名称“parameter_server_strategy_v2”
【发布时间】:2021-03-11 03:00:48
【问题描述】:

我运行了这段代码:

import tensorflow_hub as hub

我收到了这个错误:

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-3-5c017171c13e> in <module>
----> 1 import tensorflow_hub as hub

~\anaconda3\envs\Python 3-7\lib\site-packages\tensorflow_hub\__init__.py in <module>
     86 
     87 
---> 88 from tensorflow_hub.estimator import LatestModuleExporter
     89 from tensorflow_hub.estimator import register_module_for_export
     90 from tensorflow_hub.feature_column import image_embedding_column

~\anaconda3\envs\Python 3-7\lib\site-packages\tensorflow_hub\estimator.py in <module>
     60 
     61 
---> 62 class LatestModuleExporter(tf.compat.v1.estimator.Exporter):
     63   """Regularly exports registered modules into timestamped directories.
     64 

~\AppData\Roaming\Python\Python37\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 

~\AppData\Roaming\Python\Python37\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 

~\anaconda3\envs\Python 3-7\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 

~\AppData\Roaming\Python\Python37\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

~\AppData\Roaming\Python\Python37\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

~\AppData\Roaming\Python\Python37\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

~\AppData\Roaming\Python\Python37\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

~\AppData\Roaming\Python\Python37\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

~\AppData\Roaming\Python\Python37\site-packages\tensorflow_estimator\python\estimator\run_config.py in <module>
     28 from tensorflow.core.protobuf import rewriter_config_pb2
     29 from tensorflow.python.distribute import estimator_training as distribute_coordinator_training
---> 30 from tensorflow.python.distribute import parameter_server_strategy_v2
     31 from tensorflow.python.util import compat_internal
     32 from tensorflow.python.util import function_utils

ImportError: cannot import name 'parameter_server_strategy_v2' from 'tensorflow.python.distribute' (C:\Users\33651\AppData\Roaming\Python\Python37\site-packages\tensorflow\python\distribute\__init__.py)

关于如何修复它的任何想法?

我在 Windows 10 上,使用 Anaconda,Python 3.7,tensorflow 版本是 2.3.1,
numpy 版本是 1.19.2 tensorflow_hub 版本为 0.10.0 同样的错误出现在 tensorflow_hub 版本 0.8.0

【问题讨论】:

  • 看起来像 python 冲突。尝试过最新版本? (3.8, 3.9)

标签: numpy tensorflow tensorflow-hub


【解决方案1】:

我遇到了同样的问题,通过将我的环境中的 tensorflow-estimator 版本从 2.4.0 降级到 2.3.0 解决了这个问题。我可以在 Anaconda Navigator 中非常轻松地做到这一点,但可以通过使用 pip 在任何其他环境/包管理器中完成同样的操作:

pip install --upgrade tensorflow-estimator==2.3.0

注意:--upgrade 适用于升级和降级。

【讨论】:

    【解决方案2】:

    我相信您安装了错误版本的 tensorflow-estimator:pip 包 tensorflow 2.3.1 需要 tensorflow-estimator&lt;2.4.0,&gt;=2.3.0,但是 ...\site-packages\tensorflow_estimator\python\estimator 第 30 行中的违规导入\run_config.py 来自 tensorflow-estimator 2.4.0。

    【讨论】:

      【解决方案3】:

      我认为你应该使用相同版本的 tensorflow,Keras

      【讨论】:

        猜你喜欢
        • 2021-05-13
        • 2016-02-24
        • 1970-01-01
        • 1970-01-01
        • 2021-01-09
        • 2013-02-22
        • 2022-01-27
        相关资源
        最近更新 更多