{"record":{"id":"6f7e13547a885a48","repo":"keras-team/keras","slug":"invalid-data-format-self-data-format-expected","errorCode":null,"errorMessage":"Invalid data_format: {self.data_format}. Expected 'channels_first' or 'channels_last'.","messagePattern":"Invalid data_format: (.+?)\\. Expected 'channels_first' or 'channels_last'\\.","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"keras/src/layers/pooling/base_adaptive_pooling.py","lineNumber":24,"sourceCode":"\n\nclass BaseAdaptivePooling(Layer):\n    \"\"\"Base class shared by all adaptive pooling layers.\"\"\"\n\n    def __init__(self, output_size, data_format=None, **kwargs):\n        \"\"\"Initialize base adaptive pooling layer.\n\n        Args:\n            output_size: Normalized spatial output size as a tuple\n                (for example, (32,), (32, 32), or (32, 32, 32)).\n            data_format: Either \"channels_last\" or \"channels_first\".\n            **kwargs: Additional layer keyword arguments.\n        \"\"\"\n        super().__init__(**kwargs)\n        self.output_size = output_size\n        self.data_format = data_format or config.image_data_format()\n        if self.data_format not in {\"channels_first\", \"channels_last\"}:\n            raise ValueError(\n                f\"Invalid data_format: {self.data_format}. \"\n                \"Expected 'channels_first' or 'channels_last'.\"\n            )\n\n    def compute_output_shape(self, input_shape):\n        \"\"\"Return the output shape tensor after pooling.\"\"\"\n        batch_size = input_shape[0]\n        if self.data_format == \"channels_last\":\n            channels = input_shape[-1]\n            return (batch_size, *self.output_size, channels)\n        else:\n            channels = input_shape[1]\n            return (batch_size, channels, *self.output_size)\n\n    def get_config(self):\n        config_dict = {\n            \"output_size\": self.output_size,\n            \"data_format\": self.data_format,","sourceCodeStart":6,"sourceCodeEnd":42,"githubUrl":"https://github.com/keras-team/keras/blob/7a34a03db60bf60042242d6a556fc3be119046a5/keras/src/layers/pooling/base_adaptive_pooling.py#L6-L42","documentation":"Error \"Invalid data_format: {self.data_format}. Expected 'channels_first' or 'channels_last'.\" thrown in keras-team/keras.","triggerScenarios":"Thrown at keras/src/layers/pooling/base_adaptive_pooling.py:24 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"7a34a03db60bf60042242d6a556fc3be119046a5","analyzedAt":"2026-08-25T21:25:25.994Z","schemaVersion":2},"datasetVersion":"2026-08-26T02:17:13.382Z"}