{"record":{"id":"396d1eb6cbce3826","repo":"tensorflow/models","slug":"optimizerfactory-build-optimizer-returning-a-non-o","errorCode":null,"errorMessage":"OptimizerFactory.build_optimizer returning a non-optimizer object: {}","messagePattern":"OptimizerFactory\\.build_optimizer returning a non-optimizer object: (.+?)","errorType":"exception","errorClass":"TypeError","httpStatus":null,"severity":"error","filePath":"official/modeling/optimization/optimizer_factory.py","lineNumber":267,"sourceCode":"      if not use_legacy_optimizer:\n        raise ValueError(\n            'EMA can only work with the legacy optimizer, please set '\n            '`use_legacy_optimizer=True`.')\n      optimizer = ema_optimizer.ExponentialMovingAverage(\n          optimizer, **self._ema_config.as_dict())\n    if postprocessor:\n      optimizer = postprocessor(optimizer)\n    if isinstance(optimizer, tf_keras.optimizers.Optimizer):\n      return optimizer\n    # The following check makes sure the function won't break in older TF\n    # version because of missing the experimental/legacy package.\n    if hasattr(tf_keras.optimizers, 'experimental'):\n      if isinstance(optimizer, tf_keras.optimizers.experimental.Optimizer):\n        return optimizer\n    if hasattr(tf_keras.optimizers, 'legacy'):\n      if isinstance(optimizer, tf_keras.optimizers.legacy.Optimizer):\n        return optimizer\n    raise TypeError('OptimizerFactory.build_optimizer returning a '\n                    'non-optimizer object: {}'.format(optimizer))\n","sourceCodeStart":249,"sourceCodeEnd":269,"githubUrl":"https://github.com/tensorflow/models/blob/e006f5f0d534913e49c1f1dae87364039fa607e2/official/modeling/optimization/optimizer_factory.py#L249-L269","documentation":"Error \"OptimizerFactory.build_optimizer returning a non-optimizer object: {}\" thrown in tensorflow/models.","triggerScenarios":"Thrown at official/modeling/optimization/optimizer_factory.py:267 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"e006f5f0d534913e49c1f1dae87364039fa607e2","analyzedAt":"2026-08-24T14:09:15.576Z","schemaVersion":2},"datasetVersion":"2026-08-24T17:17:21.512Z"}