tensorflow/models · error · TypeError
OptimizerFactory.build_optimizer returning a non-optimizer o
Error message
OptimizerFactory.build_optimizer returning a non-optimizer object: {} What it means
Error "OptimizerFactory.build_optimizer returning a non-optimizer object: {}" thrown in tensorflow/models.
Source
Thrown at official/modeling/optimization/optimizer_factory.py:267
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:267 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/396d1eb6cbce3826.
Report an issue: GitHub.