tensorflow/models · error · ValueError
The slicing values passed to the slicing spec must be unique
Error message
The slicing values passed to the slicing spec must be unique. Got {slicing_values}. What it means
Error "The slicing values passed to the slicing spec must be unique. Got {slicing_values}." thrown in tensorflow/models.
Source
Thrown at official/recommendation/uplift/metrics/sliced_metric.py:105
values, or has slicing values of different types.
"""
super().__init__(name=name or f"sliced_{metric.name}", dtype=metric.dtype)
if not slicing_spec:
raise ValueError("The slicing spec must be a non-empty dictionary.")
slice_names, slicing_values = zip(*slicing_spec.items())
if not isinstance(slicing_values[0], (int, bool, str)) or not all(
isinstance(k, type(slicing_values[0])) for k in slicing_values
):
raise ValueError(
"All slicing values in the slicing spec must be one of `int`, "
"`bool`, or `str`, and all values must have the same type. "
f"Got types: {list(map(type, slicing_values))}."
)
if len(slicing_values) > len(set(slicing_values)):
raise ValueError(
"The slicing values passed to the slicing spec must be unique. Got "
f"{slicing_values}."
)
# TODO(b/276811843): Look into validating whether `metric` accepts
# `sample_weights` in its `update_state` method.
# Instance fully owns a deep copy of the metric.
self._metric = copy.deepcopy(metric)
self._slice_names = list(slice_names)
self._slicing_values = list(slicing_values)
self._slicing_values_tensors = [
tf.constant(v, slicing_feature_dtype) for v in slicing_values
]
self._slicing_feature_dtype = self._slicing_values_tensors[0].dtype
self._sliced_metrics = [copy.deepcopy(metric) for _ in self._slicing_values]
def update_state(View on GitHub (pinned to e006f5f0d5)
When it happens
Trigger: Thrown at official/recommendation/uplift/metrics/sliced_metric.py:105 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/70235d8d1173d4c8.
Report an issue: GitHub.