{"record":{"id":"878c9e7fd72b82d0","repo":"tensorflow/models","slug":"s-already-registered-in-legacy-optimizers-cls","errorCode":null,"errorMessage":"%s already registered in LEGACY_OPTIMIZERS_CLS.","messagePattern":"(.+?) already registered in LEGACY_OPTIMIZERS_CLS\\.","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"official/modeling/optimization/optimizer_factory.py","lineNumber":96,"sourceCode":"                           optimizer_config_cls: Union[\n                               tf_keras.optimizers.Optimizer,\n                               tf_keras.optimizers.legacy.Optimizer,\n                               tf_keras.optimizers.experimental.Optimizer\n                           ],\n                           use_legacy_optimizer: bool = True):\n  \"\"\"Register customize optimizer cls.\n\n  The user will still need to subclass data classes in\n  configs.optimization_config to be used with OptimizerFactory.\n\n  Args:\n    key: A string to that the optimizer_config_cls is registered with.\n    optimizer_config_cls: A class which inherits tf_keras.optimizers.Optimizer.\n    use_legacy_optimizer: A boolean that indicates if using legacy optimizers.\n  \"\"\"\n  if use_legacy_optimizer:\n    if key in LEGACY_OPTIMIZERS_CLS:\n      raise ValueError('%s already registered in LEGACY_OPTIMIZERS_CLS.' % key)\n    LEGACY_OPTIMIZERS_CLS[key] = optimizer_config_cls\n  else:\n    if key in NEW_OPTIMIZERS_CLS:\n      raise ValueError('%s already registered in NEW_OPTIMIZERS_CLS.' % key)\n    NEW_OPTIMIZERS_CLS[key] = optimizer_config_cls\n\n\nclass OptimizerFactory:\n  \"\"\"Optimizer factory class.\n\n  This class builds learning rate and optimizer based on an optimization config.\n  To use this class, you need to do the following:\n  (1) Define optimization config, this includes optimizer, and learning rate\n      schedule.\n  (2) Initialize the class using the optimization config.\n  (3) Build learning rate.\n  (4) Build optimizer.\n","sourceCodeStart":78,"sourceCodeEnd":114,"githubUrl":"https://github.com/tensorflow/models/blob/e006f5f0d534913e49c1f1dae87364039fa607e2/official/modeling/optimization/optimizer_factory.py#L78-L114","documentation":"Error \"%s already registered in LEGACY_OPTIMIZERS_CLS.\" thrown in tensorflow/models.","triggerScenarios":"Thrown at official/modeling/optimization/optimizer_factory.py:96 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"}