keras-team/keras · error · ValueError

`axis` must be of type `int`. Received: axis={axis} of type

Error message

`axis` must be of type `int`. Received: axis={axis} of type {type(axis)}

What it means

Error "`axis` must be of type `int`. Received: axis={axis} of type {type(axis)}" thrown in keras-team/keras.

Source

Thrown at keras/src/losses/losses.py:2180

            example, if `0.1`, use `0.1 / num_classes` for non-target labels
            and `0.9 + 0.1 / num_classes` for target labels.
        axis: Defaults to `-1`. The dimension along which the entropy is
            computed.

    Returns:
        Categorical crossentropy loss value.

    Example:

    >>> y_true = [[0, 1, 0], [0, 0, 1]]
    >>> y_pred = [[0.05, 0.95, 0], [0.1, 0.8, 0.1]]
    >>> loss = keras.losses.categorical_crossentropy(y_true, y_pred)
    >>> assert loss.shape == (2,)
    >>> loss
    array([0.0513, 2.303], dtype=float32)
    """
    if isinstance(axis, bool):
        raise ValueError(
            "`axis` must be of type `int`. "
            f"Received: axis={axis} of type {type(axis)}"
        )
    y_pred = ops.convert_to_tensor(y_pred)
    y_true = ops.cast(y_true, y_pred.dtype)

    if y_pred.shape is not None:
        axis = canonicalize_axis(axis, len(y_pred.shape))
        if y_pred.shape[axis] == 1:
            warnings.warn(
                "In loss categorical_crossentropy, expected "
                "y_pred.shape to be (batch_size, num_classes) "
                f"with num_classes > 1. Received: y_pred.shape={y_pred.shape}. "
                "Consider using 'binary_crossentropy' if you only "
                "have 2 classes.",
                SyntaxWarning,
                stacklevel=2,
            )

View on GitHub (pinned to 7a34a03db6)

When it happens

Trigger: Thrown at keras/src/losses/losses.py:2180 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/f4431c9ae2663c0e. Report an issue: GitHub.