keras-team/keras · error · ValueError
Invalid data_format: {self.data_format}. Expected 'channels_
Error message
Invalid data_format: {self.data_format}. Expected 'channels_first' or 'channels_last'. What it means
Error "Invalid data_format: {self.data_format}. Expected 'channels_first' or 'channels_last'." thrown in keras-team/keras.
Source
Thrown at keras/src/layers/pooling/base_adaptive_pooling.py:24
class BaseAdaptivePooling(Layer):
"""Base class shared by all adaptive pooling layers."""
def __init__(self, output_size, data_format=None, **kwargs):
"""Initialize base adaptive pooling layer.
Args:
output_size: Normalized spatial output size as a tuple
(for example, (32,), (32, 32), or (32, 32, 32)).
data_format: Either "channels_last" or "channels_first".
**kwargs: Additional layer keyword arguments.
"""
super().__init__(**kwargs)
self.output_size = output_size
self.data_format = data_format or config.image_data_format()
if self.data_format not in {"channels_first", "channels_last"}:
raise ValueError(
f"Invalid data_format: {self.data_format}. "
"Expected 'channels_first' or 'channels_last'."
)
def compute_output_shape(self, input_shape):
"""Return the output shape tensor after pooling."""
batch_size = input_shape[0]
if self.data_format == "channels_last":
channels = input_shape[-1]
return (batch_size, *self.output_size, channels)
else:
channels = input_shape[1]
return (batch_size, channels, *self.output_size)
def get_config(self):
config_dict = {
"output_size": self.output_size,
"data_format": self.data_format,View on GitHub (pinned to 7a34a03db6)
When it happens
Trigger: Thrown at keras/src/layers/pooling/base_adaptive_pooling.py:24 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/6f7e13547a885a48.
Report an issue: GitHub.