tensorflow/models · error · ValueError
EMA can only work with the legacy optimizer, please set `use
Error message
EMA can only work with the legacy optimizer, please set `use_legacy_optimizer=True`.
What it means
Error "EMA can only work with the legacy optimizer, please set `use_legacy_optimizer=True`." thrown in tensorflow/models.
Source
Thrown at official/modeling/optimization/optimizer_factory.py:250
optimizer_dict['learning_rate'] = lr
if gradient_aggregator is not None:
optimizer_dict['gradient_aggregator'] = gradient_aggregator
if gradient_transformers is not None:
optimizer_dict['gradient_transformers'] = gradient_transformers
if use_legacy_optimizer:
optimizer = LEGACY_OPTIMIZERS_CLS[self._optimizer_type](**optimizer_dict)
else:
if 'decay' in optimizer_dict:
raise ValueError(
'`decay` is deprecated in new Keras optimizer, please reflect the '
'decay logic in `lr` or set `use_legacy_optimizer=True` to use the '
'legacy optimizer.')
optimizer = NEW_OPTIMIZERS_CLS[self._optimizer_type](**optimizer_dict)
if self._use_ema:
if not use_legacy_optimizer:
raise ValueError(
'EMA can only work with the legacy optimizer, please set '
'`use_legacy_optimizer=True`.')
optimizer = ema_optimizer.ExponentialMovingAverage(
optimizer, **self._ema_config.as_dict())
if postprocessor:
optimizer = postprocessor(optimizer)
if isinstance(optimizer, tf_keras.optimizers.Optimizer):
return optimizer
# The following check makes sure the function won't break in older TF
# version because of missing the experimental/legacy package.
if hasattr(tf_keras.optimizers, 'experimental'):
if isinstance(optimizer, tf_keras.optimizers.experimental.Optimizer):
return optimizer
if hasattr(tf_keras.optimizers, 'legacy'):
if isinstance(optimizer, tf_keras.optimizers.legacy.Optimizer):
return optimizer
raise TypeError('OptimizerFactory.build_optimizer returning a '
'non-optimizer object: {}'.format(optimizer))View on GitHub (pinned to e006f5f0d5)
When it happens
Trigger: Thrown at official/modeling/optimization/optimizer_factory.py:250 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of tensorflow/models@e006f5f0d5 (2026-08-24).
Data as JSON: /api/errors/0575b3120de3e67f.
Report an issue: GitHub.