{"record":{"id":"7b5ecfe97fb6058f","repo":"tensorflow/models","slug":"category-category-name-must-map-to-a-non-empty","errorCode":null,"errorMessage":"Category '{category_name}' must map to a non-empty list of class names.","messagePattern":"Category '(.+?)' must map to a non-empty list of class names\\.","errorType":"exception","errorClass":"ConfigurationError","httpStatus":null,"severity":"error","filePath":"official/projects/waste_identification_ml/model_inference_with_tracking/sam3_dinov3_tracking_pipeline/config_loader.py","lineNumber":288,"sourceCode":"    return CollapsedCategoriesConfig(enable=False, mapping={})\n\n  raw_mapping = raw_section.get(\"mapping\") or {}\n  if not isinstance(raw_mapping, Mapping) or not raw_mapping:\n    raise ConfigurationError(\n        \"collapsed_categories.enable is true but 'mapping' is empty or \"\n        \"missing.\"\n    )\n\n  seen_classes: dict[str, str] = {}\n  mapping_dict: dict[str, list[str]] = {}\n  class_names = set(classes)\n  for category_name, class_list in raw_mapping.items():\n    if not isinstance(class_list, Sequence) or isinstance(class_list, str):\n      raise ConfigurationError(\n          f\"Category '{category_name}' must map to a list of class names.\"\n      )\n    if not class_list:\n      raise ConfigurationError(\n          f\"Category '{category_name}' must map to a non-empty list of class \"\n          \"names.\"\n      )\n    mapping_dict[str(category_name)] = list(class_list)\n    for class_name in class_list:\n      if class_name not in class_names:\n        raise ConfigurationError(\n            f\"Class '{class_name}' in category '{category_name}' is not \"\n            \"present in the top-level 'classes' list.\"\n        )\n      if class_name in seen_classes:\n        raise ConfigurationError(\n            f\"Class '{class_name}' is assigned to both \"\n            f\"'{seen_classes[class_name]}' and '{category_name}'.\"\n        )\n      seen_classes[class_name] = category_name\n\n  unmapped_classes = [c for c in classes if c not in seen_classes]","sourceCodeStart":270,"sourceCodeEnd":306,"githubUrl":"https://github.com/tensorflow/models/blob/e006f5f0d534913e49c1f1dae87364039fa607e2/official/projects/waste_identification_ml/model_inference_with_tracking/sam3_dinov3_tracking_pipeline/config_loader.py#L270-L306","documentation":"Error \"Category '{category_name}' must map to a non-empty list of class names.\" thrown in tensorflow/models.","triggerScenarios":"Thrown at official/projects/waste_identification_ml/model_inference_with_tracking/sam3_dinov3_tracking_pipeline/config_loader.py:288 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"}