{"record":{"id":"ca22aef20cd5484f","repo":"tensorflow/models","slug":"num-shards-d-mod-shards-per-group-d-should-be-ca22ae","errorCode":null,"errorMessage":"num_shards: %d mod shards_per_group: %d, should be 0","messagePattern":"num_shards: (.+?) mod shards_per_group: (.+?), should be 0","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"official/projects/edgetpu/vision/modeling/common_modules.py","lineNumber":43,"sourceCode":"STDDEV_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\n  def _moments(self,\n               inputs: tf.Tensor,\n               reduction_axes: int,\n               keep_dims: int,\n               mask: Optional[tf.Tensor] = None):\n    \"\"\"Compute the mean and variance: it overrides the original _moments.\"\"\"\n    shard_mean, shard_variance = super(TpuBatchNormalization, self)._moments(\n        inputs, reduction_axes, keep_dims=keep_dims, mask=mask)\n","sourceCodeStart":25,"sourceCodeEnd":61,"githubUrl":"https://github.com/tensorflow/models/blob/e006f5f0d534913e49c1f1dae87364039fa607e2/official/projects/edgetpu/vision/modeling/common_modules.py#L25-L61","documentation":"Error \"num_shards: %d mod shards_per_group: %d, should be 0\" thrown in tensorflow/models.","triggerScenarios":"Thrown at official/projects/edgetpu/vision/modeling/common_modules.py:43 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"}