{"record":{"id":"40d70d2b03b3f082","repo":"keras-team/keras","slug":"invalid-transform-rank-expected-rank-1-single-tr-40d70d","errorCode":null,"errorMessage":"Invalid transform rank: expected rank 1 (single transform) or rank 2 (batch of transforms). Received input with shape: transform.shape={transform.shape}","messagePattern":"Invalid transform rank: expected rank 1 \\(single transform\\) or rank 2 \\(batch of transforms\\)\\. Received input with shape: transform\\.shape=(.+?)","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"keras/src/backend/numpy/ops/image.py","lineNumber":581,"sourceCode":"            f\"interpolation={interpolation}\"\n        )\n    if fill_mode not in AFFINE_TRANSFORM_FILL_MODES:\n        raise ValueError(\n            \"Invalid value for argument `fill_mode`. Expected of one \"\n            f\"{AFFINE_TRANSFORM_FILL_MODES}. Received: fill_mode={fill_mode}\"\n        )\n\n    images = convert_to_tensor(images)\n    transform = convert_to_tensor(transform)\n\n    if len(images.shape) not in (3, 4):\n        raise ValueError(\n            \"Invalid images rank: expected rank 3 (single image) \"\n            \"or rank 4 (batch of images). Received input with shape: \"\n            f\"images.shape={images.shape}\"\n        )\n    if len(transform.shape) not in (1, 2):\n        raise ValueError(\n            \"Invalid transform rank: expected rank 1 (single transform) \"\n            \"or rank 2 (batch of transforms). Received input with shape: \"\n            f\"transform.shape={transform.shape}\"\n        )\n\n    # `scipy.ndimage.map_coordinates` lacks support for float16 and bfloat16.\n    input_dtype = backend.standardize_dtype(images.dtype)\n    compute_dtype = backend.result_type(input_dtype, \"float32\")\n    images = images.astype(compute_dtype)\n    transform = transform.astype(compute_dtype)\n\n    # unbatched case\n    need_squeeze = False\n    if len(images.shape) == 3:\n        images = np.expand_dims(images, axis=0)\n        need_squeeze = True\n    if len(transform.shape) == 1:\n        transform = np.expand_dims(transform, axis=0)","sourceCodeStart":563,"sourceCodeEnd":599,"githubUrl":"https://github.com/keras-team/keras/blob/7a34a03db60bf60042242d6a556fc3be119046a5/keras/src/backend/numpy/ops/image.py#L563-L599","documentation":"Error \"Invalid transform rank: expected rank 1 (single transform) or rank 2 (batch of transforms). Received input with shape: transform.shape={transform.shape}\" thrown in keras-team/keras.","triggerScenarios":"Thrown at keras/src/backend/numpy/ops/image.py:581 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"}