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.