{"record":{"id":"3c95ff2a7972d99d","repo":"tensorflow/models","slug":"duplicate-crop-variant-variant-r","errorCode":null,"errorMessage":"Duplicate crop variant {variant!r}.","messagePattern":"Duplicate crop variant (.+?)\\.","errorType":"exception","errorClass":"ConfigError","httpStatus":null,"severity":"error","filePath":"official/projects/waste_identification_ml/data_generation/auto_labeler_pipeline/config_loader.py","lineNumber":433,"sourceCode":"\n  Raises:\n      ConfigError: If the sequence is empty, not a list, or contains an\n          unknown or duplicate variant name.\n  \"\"\"\n  if not isinstance(raw_variants, (list, tuple)) or not raw_variants:\n    raise ConfigError(\n        \"crop_variants must be a non-empty list. \"\n        f\"Allowed values: {list(ALLOWED_CROP_VARIANTS)}.\"\n    )\n  seen = set()\n  for variant in raw_variants:\n    if variant not in ALLOWED_CROP_VARIANTS:\n      raise ConfigError(\n          f\"Unknown crop variant {variant!r}. \"\n          f\"Allowed values: {list(ALLOWED_CROP_VARIANTS)}.\"\n      )\n    if variant in seen:\n      raise ConfigError(f\"Duplicate crop variant {variant!r}.\")\n    seen.add(variant)\n  return tuple(variant for variant in ALLOWED_CROP_VARIANTS if variant in seen)\n\n\ndef _validate_rotation_fill_color(\n    raw_color: Any,\n) -> tuple[int, int, int]:\n  \"\"\"Validates the rotation fill color entry into an RGB tuple.\n\n  Args:\n      raw_color: The value read from YAML; expected to be a three-element\n        sequence of integers in the range ``[0, 255]``.\n\n  Returns:\n      The color as an ``(r, g, b)`` tuple of ints.\n\n  Raises:\n      ConfigError: If the value is not three integers in the allowed range.","sourceCodeStart":415,"sourceCodeEnd":451,"githubUrl":"https://github.com/tensorflow/models/blob/e006f5f0d534913e49c1f1dae87364039fa607e2/official/projects/waste_identification_ml/data_generation/auto_labeler_pipeline/config_loader.py#L415-L451","documentation":"Error \"Duplicate crop variant {variant!r}.\" thrown in tensorflow/models.","triggerScenarios":"Thrown at official/projects/waste_identification_ml/data_generation/auto_labeler_pipeline/config_loader.py:433 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"}