{"record":{"id":"a568321fa09eb5fc","repo":"tensorflow/models","slug":"only-support-mosaicdecoderhead-for-head","errorCode":null,"errorMessage":"Only support MosaicDecoderHead for head.","messagePattern":"Only support MosaicDecoderHead for head\\.","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"official/projects/mosaic/qat/modeling/factory.py","lineNumber":65,"sourceCode":"    ckpt = tf.train.Checkpoint(model=model, **model.checkpoint_items)\n    status = ckpt.read(original_checkpoint)\n    status.expect_partial().assert_existing_objects_matched()\n\n  scope_dict = {\n      'L2': tf_keras.regularizers.l2,\n  }\n\n  model.use_legacy_config = True  # Ensures old Keras serialization format\n  # Apply QAT to backbone (a tf_keras.Model) first, and then neck and head.\n  with tfmot.quantization.keras.quantize_scope(scope_dict):\n    annotated_backbone = tfmot.quantization.keras.quantize_annotate_model(\n        model.backbone)\n    optimized_backbone = tfmot.quantization.keras.quantize_apply(\n        annotated_backbone, scheme=schemes.Default8BitQuantizeScheme())\n\n    # Check for valid encoder and head.\n    if not isinstance(model.head, mosaic_head.MosaicDecoderHead):\n      raise ValueError('Only support MosaicDecoderHead for head.')\n    if not isinstance(model.neck, mosaic_blocks.MosaicEncoderBlock):\n      raise ValueError('Only support MosaicEncoderBlock for encoder.')\n\n    head = qat_mosaic_head.MosaicDecoderHeadQuantized.from_config(\n        model.head.get_config())\n    neck = qat_nn_blocks.MosaicEncoderBlockQuantized.from_config(\n        model.neck.get_config())\n\n    mask_scoring_head = None\n    if model.mask_scoring_head is not None:\n      mask_scoring_head = qat_nn_layers.MaskScoringQuantized.from_config(\n          model.mask_scoring_head.get_config()\n      )\n\n  optimized_model = mosaic_model.MosaicSegmentationModel(\n      backbone=optimized_backbone,\n      head=head,\n      neck=neck,","sourceCodeStart":47,"sourceCodeEnd":83,"githubUrl":"https://github.com/tensorflow/models/blob/e006f5f0d534913e49c1f1dae87364039fa607e2/official/projects/mosaic/qat/modeling/factory.py#L47-L83","documentation":"Error \"Only support MosaicDecoderHead for head.\" thrown in tensorflow/models.","triggerScenarios":"Thrown at official/projects/mosaic/qat/modeling/factory.py:65 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"}