keras-team/keras · error · ValueError

`sparse=True` may only be used if `output_mode` is `'one_hot

Error message

`sparse=True` may only be used if `output_mode` is `'one_hot'`, `'multi_hot'`, or `'count'`. Received: sparse={sparse} and output_mode={output_mode}

What it means

Error "`sparse=True` may only be used if `output_mode` is `'one_hot'`, `'multi_hot'`, or `'count'`. Received: sparse={sparse} and output_mode={output_mode}" thrown in keras-team/keras.

Source

Thrown at keras/src/layers/preprocessing/discretization.py:106

    def __init__(
        self,
        bin_boundaries=None,
        num_bins=None,
        epsilon=0.01,
        output_mode="int",
        sparse=False,
        dtype=None,
        name=None,
    ):
        super().__init__(name=name, dtype=dtype)

        if sparse and not backend.SUPPORTS_SPARSE_TENSORS:
            raise ValueError(
                f"`sparse=True` cannot be used with backend {backend.backend()}"
            )
        if sparse and output_mode == "int":
            raise ValueError(
                "`sparse=True` may only be used if `output_mode` is "
                "`'one_hot'`, `'multi_hot'`, or `'count'`. "
                f"Received: sparse={sparse} and "
                f"output_mode={output_mode}"
            )

        argument_validation.validate_string_arg(
            output_mode,
            allowable_strings=(
                "int",
                "one_hot",
                "multi_hot",
                "count",
            ),
            caller_name=self.__class__.__name__,
            arg_name="output_mode",
        )

View on GitHub (pinned to 7a34a03db6)

When it happens

Trigger: Thrown at keras/src/layers/preprocessing/discretization.py:106 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of keras-team/keras@7a34a03db6 (2026-08-25). Data as JSON: /api/errors/444578f3e68aadf7. Report an issue: GitHub.