{"record":{"id":"b4044e7db8178b5c","repo":"tensorflow/models","slug":"a-stage-merge-style-in-mosaic-decoder-can-only-be","errorCode":null,"errorMessage":"A stage merge style in MOSAIC Decoder can only be concat_merge or sum_merge.","messagePattern":"A stage merge style in MOSAIC Decoder can only be concat_merge or sum_merge\\.","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"official/projects/mosaic/modeling/mosaic_head.py","lineNumber":142,"sourceCode":"            activation=activation,\n            kernel_initializer=kernel_initializer,\n            kernel_regularizer=kernel_regularizer,\n            interpolation=interpolation)\n        self._merge_stages.append(concat_merge_stage)\n      elif stage_merge_style == 'sum_merge':\n        sum_merge_stage = mosaic_blocks.DecoderSumMergeBlock(\n            decoder_projected_depth=decoder_projected_filter,\n            output_size=(0, 0),\n            use_sync_bn=use_sync_bn,\n            batchnorm_momentum=batchnorm_momentum,\n            batchnorm_epsilon=batchnorm_epsilon,\n            activation=activation,\n            kernel_initializer=kernel_initializer,\n            kernel_regularizer=kernel_regularizer,\n            interpolation=interpolation)\n        self._merge_stages.append(sum_merge_stage)\n      else:\n        raise ValueError(\n            'A stage merge style in MOSAIC Decoder can only be concat_merge '\n            'or sum_merge.')\n\n    # Concat merge or sum merge does not require an additional classifer layer\n    # unless the final decoder projected filter does not match num_classes.\n    final_decoder_projected_filter = decoder_projected_filters[-1]\n    if (final_decoder_projected_filter != num_classes and\n        not use_additional_classifier_layer):\n      raise ValueError('Additional classifier layer is needed if final decoder '\n                       'projected filters does not match num_classes!')\n    self._use_additional_classifier_layer = use_additional_classifier_layer\n    if use_additional_classifier_layer:\n      # This additional classification layer uses different kernel\n      # initializers and bias compared to earlier blocks.\n      self._pixelwise_classifier = tf_keras.layers.Conv2D(\n          name='pixelwise_classifier',\n          filters=num_classes,\n          kernel_size=classifier_kernel_size,","sourceCodeStart":124,"sourceCodeEnd":160,"githubUrl":"https://github.com/tensorflow/models/blob/e006f5f0d534913e49c1f1dae87364039fa607e2/official/projects/mosaic/modeling/mosaic_head.py#L124-L160","documentation":"Error \"A stage merge style in MOSAIC Decoder can only be concat_merge or sum_merge.\" thrown in tensorflow/models.","triggerScenarios":"Thrown at official/projects/mosaic/modeling/mosaic_head.py:142 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"}