tensorflow/models · error · ConfigurationError
The following classes are not assigned to any collapsed…
Error message
The following classes are not assigned to any collapsed category: {unmapped_classes} What it means
Completeness validation at the end of build_collapsed_categories_config: after processing every category, some top-level classes remain unassigned (class_names minus seen_classes is non-empty). Because collapsing is enabled, every class must belong to exactly one category; otherwise get_category_for_class would hit its internal sentinel error at inference time. The message lists the leftover classes.
Solutions
- Add each unmapped class to exactly one category under collapsed_categories.mapping
- Create a catch-all category (e.g. 'other') for classes with no natural grouping
- Alternatively disable collapsing with enable: false if per-class outputs are acceptable
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at official/projects/waste_identification_ml/model_inference_with_tracking/sam3_dinov3_tracking_pipeline/config_loader.py:308 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of tensorflow/models@e006f5f0d5 (2026-08-24).
Data as JSON: /api/errors/edbe372841197483.
Report an issue: GitHub.
Appendix: source
Thrown at official/projects/waste_identification_ml/model_inference_with_tracking/sam3_dinov3_tracking_pipeline/config_loader.py:308
"names."
)
mapping_dict[str(category_name)] = list(class_list)
for class_name in class_list:
if class_name not in class_names:
raise ConfigurationError(
f"Class '{class_name}' in category '{category_name}' is not "
"present in the top-level 'classes' list."
)
if class_name in seen_classes:
raise ConfigurationError(
f"Class '{class_name}' is assigned to both "
f"'{seen_classes[class_name]}' and '{category_name}'."
)
seen_classes[class_name] = category_name
unmapped_classes = [c for c in classes if c not in seen_classes]
if unmapped_classes:
raise ConfigurationError(
"The following classes are not assigned to any collapsed category: "
f"{unmapped_classes}"
)
return CollapsedCategoriesConfig(enable=True, mapping=mapping_dict)
@dataclasses.dataclass(frozen=True, kw_only=True)
class PipelineConfig:
"""Root configuration object representing the entire pipeline state."""
paths: PathsConfig
models: ModelsConfig
classes: list[str]
detection: DetectionConfig
tracking: TrackingConfig
visualization: VisualizationConfig
collapsed_categories: CollapsedCategoriesConfigView on GitHub (pinned to e006f5f0d5)