'AttributeError: module 'tensorflow.python.training.experimental.mixed_precision' has no attribute '_register_wrapper_optimizer_cls'
I am using Keras to implement a neural network. But when I use model = Sequential(), I get the following error:
AttributeError Traceback (most recent call last)
<ipython-input-31-fa9fd3b0e211> in <module>
8
9 # Create the model
---> 10 model = Sequential()
11 model.add(Dropout(0.1), input_shape=(128,))
12 model.add(Dense(256, activation='relu', kernel_initializer='he_uniform'))
/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/utils/version_utils.py in __new__(cls, *args, **kwargs)
55 use_v2 = should_use_v2()
56 cls = swap_class(cls, training.Model, training_v1.Model, use_v2) # pylint: disable=self-cls-assignment
---> 57 return super(ModelVersionSelector, cls).__new__(cls)
58
59
/usr/local/lib/python3.6/dist-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
/usr/local/lib/python3.6/dist-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
/usr/lib/python3.6/importlib/__init__.py in import_module(name, package)
124 break
125 level += 1
--> 126 return _bootstrap._gcd_import(name[level:], package, level)
127
128
/usr/lib/python3.6/importlib/_bootstrap.py in _gcd_import(name, package, level)
/usr/lib/python3.6/importlib/_bootstrap.py in _find_and_load(name, import_)
/usr/lib/python3.6/importlib/_bootstrap.py in _find_and_load_unlocked(name, import_)
/usr/lib/python3.6/importlib/_bootstrap.py in _load_unlocked(spec)
/usr/lib/python3.6/importlib/_bootstrap_external.py in exec_module(self, module)
/usr/lib/python3.6/importlib/_bootstrap.py in _call_with_frames_removed(f, *args, **kwds)
/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/base_layer_v1.py in <module>
48 from tensorflow.python.keras.engine import input_spec
49 from tensorflow.python.keras.mixed_precision import autocast_variable
---> 50 from tensorflow.python.keras.mixed_precision import loss_scale_optimizer
51 from tensorflow.python.keras.mixed_precision import policy
52 from tensorflow.python.keras.saving.saved_model import layer_serialization
/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/mixed_precision/loss_scale_optimizer.py in <module>
1152
1153 # pylint: disable=protected-access
-> 1154 mixed_precision._register_wrapper_optimizer_cls(optimizer_v2.OptimizerV2,
1155 LossScaleOptimizerV1)
1156
AttributeError: module 'tensorflow.python.training.experimental.mixed_precision' has no attribute '_register_wrapper_optimizer_cls'
I am relatively new to deep learning. Any help would be appreciated. Thank you!
Solution 1:[1]
This problem maybe occurs in the keras package version.
Because the installed tensorflow version does not match the keras version. Just uninstall keras and reinstall your own tensorflow corresponding version.
pip3 uninstall keras
pip3 install keras --upgrade
In summary, you need to match the correct environment version for your Keras code.
Solution 2:[2]
I had the same problem. The problem is that Keras is not installed compatible with Tensorflow, so there are no attributes/methods in it. I tried the following commands mentioned in the source and my problem was completely solved.
pip3 uninstall keras
pip3 install keras --upgrade
Solution 3:[3]
This is a terrible solution, but for the sake of getting things going, here is how I solved it.
I went into my directory and found the location of tensorflow.python.training.experimental.mixed_precision.py, and manually inserted the following lines
def _register_wrapper_optimizer_cls(optimizer_cls, wrapper_optimizer_cls):
_REGISTERED_WRAPPER_OPTIMIZER_CLS[optimizer_cls] = wrapper_optimizer_cls
The code is from the official GitHub https://github.com/sourcecode369/tensorflow-1/blob/master/tensorflow/python/training/experimental/mixed_precision.py
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | |
| Solution 2 | moguztas |
| Solution 3 | Sasa |
