{"record":{"id":"42e1a4ea43b38745","repo":"tensorflow/models","slug":"the-name-input-combiner-layer-must-be-specified","errorCode":null,"errorMessage":"The {name}_input_combiner layer must be specified if the {name}_feature_encoder is not None. Consider using tf_keras.layers.Concatenate() as a combiner layer.","messagePattern":"The (.+?)_input_combiner layer must be specified if the (.+?)_feature_encoder is not None\\. Consider using tf_keras\\.layers\\.Concatenate\\(\\) as a combiner layer\\.","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"official/recommendation/uplift/layers/uplift_networks/two_tower_uplift_network.py","lineNumber":115,"sourceCode":"    self._control_input_combiner = control_input_combiner\n    self._treatment_feature_encoder = treatment_feature_encoder\n    self._treatment_input_combiner = treatment_input_combiner\n\n    self._validate_encoder_combiner_layers(\n        control_feature_encoder, control_input_combiner, \"control\"\n    )\n    self._validate_encoder_combiner_layers(\n        treatment_feature_encoder, treatment_input_combiner, \"treatment\"\n    )\n\n  def _validate_encoder_combiner_layers(\n      self,\n      encoder: tf_keras.layer.Layer,\n      combiner: tf_keras.layer.Layer,\n      name: str,\n  ) -> None:\n    if encoder is not None and combiner is None:\n      raise ValueError(\n          f\"The {name}_input_combiner layer must be specified if the\"\n          f\" {name}_feature_encoder is not None. Consider using\"\n          \" tf_keras.layers.Concatenate() as a combiner layer.\"\n      )\n    if encoder is None and combiner is not None:\n      raise ValueError(\n          f\"The {name}_feature_encoder layer must be specified if the\"\n          f\" {name}_input_combiner is not None.\"\n      )\n\n  def call(\n      self,\n      inputs: types.DictOfTensors,\n      training: bool | None = None,\n      mask: tf.Tensor | None = None,\n  ) -> types.TwoTowerNetworkOutputs:\n    \"\"\"Computes control and treatment logits.\n","sourceCodeStart":97,"sourceCodeEnd":133,"githubUrl":"https://github.com/tensorflow/models/blob/e006f5f0d534913e49c1f1dae87364039fa607e2/official/recommendation/uplift/layers/uplift_networks/two_tower_uplift_network.py#L97-L133","documentation":"Error \"The {name}_input_combiner layer must be specified if the {name}_feature_encoder is not None. Consider using tf_keras.layers.Concatenate() as a combiner layer.\" thrown in tensorflow/models.","triggerScenarios":"Thrown at official/recommendation/uplift/layers/uplift_networks/two_tower_uplift_network.py:115 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"}