{"record":{"id":"c04f748751381f73","repo":"tensorflow/models","slug":"backbone-min-level-should-be-less-or-equal-to-fpn-c04f74","errorCode":null,"errorMessage":"Backbone min level should be less or equal to FPN min level","messagePattern":"Backbone min level should be less or equal to FPN min level","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"official/vision/modeling/decoders/nasfpn.py","lineNumber":182,"sourceCode":"    # Repeatly builds the NAS-FPN modules.\n    for _ in range(self._num_repeats):\n      output_feats = self._build_feature_pyramid(feats)\n      feats = [output_feats[level]\n               for level in range(self._min_level, self._max_level + 1)]\n\n    self._output_specs = {\n        str(level): output_feats[level].get_shape()  # pyrefly: ignore[unbound-name]\n        for level in range(min_level, max_level + 1)\n    }\n    output_feats = {str(level): output_feats[level]\n                    for level in output_feats.keys()}  # pyrefly: ignore[unbound-name]\n    super(NASFPN, self).__init__(inputs=inputs, outputs=output_feats, **kwargs)\n\n  def _build_input_pyramid(self, input_specs: Mapping[str, tf.TensorShape],\n                           min_level: int):\n    assert isinstance(input_specs, dict)\n    if min(input_specs.keys()) > str(min_level):\n      raise ValueError(\n          'Backbone min level should be less or equal to FPN min level')\n\n    inputs = {}\n    for level, spec in input_specs.items():\n      inputs[level] = tf_keras.Input(shape=spec[1:])\n    return inputs\n\n  def _resample_feature_map(self,\n                            inputs,\n                            input_level,\n                            target_level,\n                            target_num_filters=256):\n    x = inputs\n    _, _, _, input_num_filters = x.get_shape().as_list()\n    if input_num_filters != target_num_filters:\n      x = self._conv_op(\n          filters=target_num_filters,\n          kernel_size=1,","sourceCodeStart":164,"sourceCodeEnd":200,"githubUrl":"https://github.com/tensorflow/models/blob/e006f5f0d534913e49c1f1dae87364039fa607e2/official/vision/modeling/decoders/nasfpn.py#L164-L200","documentation":"Error \"Backbone min level should be less or equal to FPN min level\" thrown in tensorflow/models.","triggerScenarios":"Thrown at official/vision/modeling/decoders/nasfpn.py:182 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Set the backbone min_level to a value less than or equal to the NASFPN min_level.","Adjust the NASFPN min_level/max_level or the backbone levels so the ranges are compatible."],"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"}