{"record":{"id":"07def8679e73a52f","repo":"tensorflow/models","slug":"optimizer-has-to-be-instance-ofoptimization-expone","errorCode":null,"errorMessage":"Optimizer has to be instance ofoptimization.ExponentialMovingAverage forEMACheckpointing action","messagePattern":"Optimizer has to be instance ofoptimization\\.ExponentialMovingAverage forEMACheckpointing action","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"official/core/actions.py","lineNumber":101,"sourceCode":"  \"\"\"\n\n  def __init__(self,\n               export_dir: str,\n               optimizer: tf_keras.optimizers.Optimizer,\n               checkpoint: tf.train.Checkpoint,\n               max_to_keep: int = 1):\n    \"\"\"Initializes the instance.\n\n    Args:\n      export_dir: `str` for the export directory of the EMA average weights.\n      optimizer: `tf_keras.optimizers.Optimizer` optimizer instance used for\n        training. This will be used to swap the model weights with the average\n        weigths.\n      checkpoint: `tf.train.Checkpoint` instance.\n      max_to_keep: `int` for max checkpoints to keep in ema_checkpoints subdir.\n    \"\"\"\n    if not isinstance(optimizer, optimization.ExponentialMovingAverage):\n      raise ValueError('Optimizer has to be instance of'\n                       'optimization.ExponentialMovingAverage for'\n                       'EMACheckpointing action')\n\n    export_dir = os.path.join(export_dir, 'ema_checkpoints')\n    tf.io.gfile.makedirs(os.path.dirname(export_dir))\n    self._optimizer = optimizer\n    self._checkpoint = checkpoint\n    self._checkpoint_manager = tf.train.CheckpointManager(\n        checkpoint,\n        directory=export_dir,\n        max_to_keep=max_to_keep,\n        checkpoint_name='average_weights')\n\n  def __call__(self, output: orbit.runner.Output):\n    \"\"\"Swaps model weights, and saves the checkpoint.\n\n    Args:\n      output: The train or eval output.","sourceCodeStart":83,"sourceCodeEnd":119,"githubUrl":"https://github.com/tensorflow/models/blob/e006f5f0d534913e49c1f1dae87364039fa607e2/official/core/actions.py#L83-L119","documentation":"Error \"Optimizer has to be instance ofoptimization.ExponentialMovingAverage forEMACheckpointing action\" thrown in tensorflow/models.","triggerScenarios":"Thrown at official/core/actions.py:101 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"}