{"record":{"id":"8c5f0121c76f5c1f","repo":"keras-team/keras","slug":"for-padding-same-output-size-dim-name-o","errorCode":null,"errorMessage":"For `padding='same'`, `output_size` {dim_name} ({o}) must be in the range ((g-1)*p, g*p], i.e. ({g * p - p}, {g * p}]. Got: grid={g}, patch={p}.","messagePattern":"For `padding='same'`, `output_size` (.+?) \\((.+?)\\) must be in the range \\(\\(g-1\\)\\*p, g\\*p\\], i\\.e\\. \\((.+?), (.+?)\\]\\. Got: grid=(.+?), patch=(.+?)\\.","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"keras/src/ops/image.py","lineNumber":1030,"sourceCode":"        else:\n            # channels_first: the grid dims are the trailing dims,\n            # (B, flat, *grid) batched or (flat, *grid) unbatched.\n            grid = patches_shape[-len(self.size) :]\n        dim_names = (\"depth\", \"height\", \"width\")[-len(self.size) :]\n        for g, p, o, dim_name in zip(\n            grid, self.size, self.output_size, dim_names\n        ):\n            if not isinstance(g, int):\n                continue\n            if self.padding == \"valid\":\n                if g * p != o:\n                    raise ValueError(\n                        f\"`padding='valid'` requires output_size to equal \"\n                        f\"size * grid. Got output_size={self.output_size}, \"\n                        f\"grid {dim_name}={g}, size={self.size}.\"\n                    )\n            elif not (g * p - p < o <= g * p):\n                raise ValueError(\n                    f\"For `padding='same'`, `output_size` {dim_name} ({o}) \"\n                    f\"must be in the range ((g-1)*p, g*p], i.e. \"\n                    f\"({g * p - p}, {g * p}]. Got: grid={g}, patch={p}.\"\n                )\n\n        if self.data_format == \"channels_last\":\n            out_shape = list(spatial) + [channels_out]\n        else:\n            out_shape = [channels_out] + list(spatial)\n\n        if original_ndim == expected_ndim_batched:\n            out_shape = [batch] + out_shape\n        return KerasTensor(shape=tuple(out_shape), dtype=patches.dtype)\n\n    def get_config(self):\n        return {\n            \"size\": self.size,\n            \"output_size\": self.output_size,","sourceCodeStart":1012,"sourceCodeEnd":1048,"githubUrl":"https://github.com/keras-team/keras/blob/7a34a03db60bf60042242d6a556fc3be119046a5/keras/src/ops/image.py#L1012-L1048","documentation":"Error \"For `padding='same'`, `output_size` {dim_name} ({o}) must be in the range ((g-1)*p, g*p], i.e. ({g * p - p}, {g * p}]. Got: grid={g}, patch={p}.\" thrown in keras-team/keras.","triggerScenarios":"Thrown at keras/src/ops/image.py:1030 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"}