keras-team/keras · error · ValueError

`patches` has unexpected rank for {'3D' if self.is_3d else '

Error message

`patches` has unexpected rank for {'3D' if self.is_3d else '2D'} reconstruction. Expected {expected_ndim_unbatched} (unbatched) or {expected_ndim_batched} (batched). Received shape: {patches.shape}

What it means

Error "`patches` has unexpected rank for {'3D' if self.is_3d else '2D'} reconstruction. Expected {expected_ndim_unbatched} (unbatched) or {expected_ndim_batched} (batched). Received shape: {patches.shape}" thrown in keras-team/keras.

Source

Thrown at keras/src/ops/image.py:995

        for s in self.size:
            patch_volume *= s
        channels_out = None if flat is None else flat // patch_volume

        if self.is_3d:
            expected_ndim_batched = 5
            expected_ndim_unbatched = 4
            spatial = self.output_size  # (D, H, W)
        else:
            expected_ndim_batched = 4
            expected_ndim_unbatched = 3
            spatial = self.output_size  # (H, W)

        if original_ndim == expected_ndim_batched:
            batch = patches_shape[0]
        elif original_ndim == expected_ndim_unbatched:
            batch = None
        else:
            raise ValueError(
                f"`patches` has unexpected rank for "
                f"{'3D' if self.is_3d else '2D'} reconstruction. "
                f"Expected {expected_ndim_unbatched} (unbatched) or "
                f"{expected_ndim_batched} (batched). "
                f"Received shape: {patches.shape}"
            )

        if flat is not None and flat % patch_volume != 0:
            raise ValueError(
                f"`patches` last dim ({flat}) is not divisible by "
                f"prod(size) ({patch_volume})."
            )

        if self.data_format == "channels_last":
            grid_offset = 1 if original_ndim == expected_ndim_batched else 0
            grid = patches_shape[grid_offset : grid_offset + len(self.size)]
        else:
            # channels_first: the grid dims are the trailing dims,

View on GitHub (pinned to 7a34a03db6)

When it happens

Trigger: Thrown at keras/src/ops/image.py:995 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/f0b31847a3a0b224. Report an issue: GitHub.