Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

I have this error when trying to import tensorflow_hub: cannot import name 'parameter_server_strategy_v2' from 'tensorflow.python.distribute'

I ran this code:

import tensorflow_hub as hub

I got this error:

---------------------------------------------------------------------------
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)

Any Idea on how to fix it ?

I'm on windows 10, with Anaconda, Python 3.7, tensorflow version is 2.3.1,
numpy version is 1.19.2 tensorflow_hub version is 0.10.0 The same error was with tensorflow_hub version 0.8.0

like image 734
Yannick Pezeu Avatar asked Nov 28 '20 17:11

Yannick Pezeu


1 Answers

I had the same issue and it was resolved by downgrading the tensorflow-estimator version in my environment from 2.4.0 to 2.3.0. I was able to do this very easily in Anaconda Navigator but this can be accomplished just the same in any other environment/package manager by using pip:

pip install --upgrade tensorflow-estimator==2.3.0

Note: --upgrade works for both upgrades and downgrades.

like image 135
jal472 Avatar answered Oct 17 '22 02:10

jal472