{"record":{"id":"26e3bfc9ac84f6cd","repo":"tensorflow/models","slug":"tpubatchnormalization-does-not-support-fused-true-26e3bf","errorCode":null,"errorMessage":"TpuBatchNormalization does not support fused=True.","messagePattern":"TpuBatchNormalization does not support fused=True\\.","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"official/projects/edgetpu/vision/modeling/common_modules.py","lineNumber":34,"sourceCode":"from typing import Optional, Tuple\nimport numpy as np\nimport tensorflow as tf, tf_keras\nimport tensorflow.compat.v1 as tf1\n\nfrom tensorflow.python.tpu import tpu_function  # pylint: disable=g-direct-tensorflow-import\n\n\nMEAN_RGB = (0.5 * 255, 0.5 * 255, 0.5 * 255)\nSTDDEV_RGB = (0.5 * 255, 0.5 * 255, 0.5 * 255)\n\n\n@tf_keras.utils.register_keras_serializable(package='Vision')\nclass TpuBatchNormalization(tf_keras.layers.BatchNormalization):\n  \"\"\"Cross replica batch normalization.\"\"\"\n\n  def __init__(self, fused: Optional[bool] = False, **kwargs):\n    if fused in (True, None):\n      raise ValueError('TpuBatchNormalization does not support fused=True.')\n    super(TpuBatchNormalization, self).__init__(fused=fused, **kwargs)\n\n  def _cross_replica_average(self, t: tf.Tensor, num_shards_per_group: int):\n    \"\"\"Calculates the average value of input tensor across TPU replicas.\"\"\"\n    num_shards = tpu_function.get_tpu_context().number_of_shards\n    group_assignment = None\n    if num_shards_per_group > 1:\n      if num_shards % num_shards_per_group != 0:\n        raise ValueError(\n            'num_shards: %d mod shards_per_group: %d, should be 0' %\n            (num_shards, num_shards_per_group))\n      num_groups = num_shards // num_shards_per_group\n      group_assignment = [[\n          x for x in range(num_shards) if x // num_shards_per_group == y\n      ] for y in range(num_groups)]\n    return tf1.tpu.cross_replica_sum(t, group_assignment) / tf.cast(\n        num_shards_per_group, t.dtype)\n","sourceCodeStart":16,"sourceCodeEnd":52,"githubUrl":"https://github.com/tensorflow/models/blob/e006f5f0d534913e49c1f1dae87364039fa607e2/official/projects/edgetpu/vision/modeling/common_modules.py#L16-L52","documentation":"Error \"TpuBatchNormalization does not support fused=True.\" thrown in tensorflow/models.","triggerScenarios":"Thrown at official/projects/edgetpu/vision/modeling/common_modules.py:34 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"}