{"record":{"id":"620bb79c3f6f8ced","repo":"keras-team/keras","slug":"cropping-should-be-either-an-int-a-tuple-of-3-i","errorCode":null,"errorMessage":"`cropping` should be either an int, a tuple of 3 ints (symmetric_dim1_crop, symmetric_dim2_crop, symmetric_dim3_crop), or a tuple of 3 tuples of 2 ints ((left_dim1_crop, right_dim1_crop), (left_dim2_crop, right_dim2_crop), (left_dim3_crop, right_dim2_crop)). Received: {cropping}.","messagePattern":"`cropping` should be either an int, a tuple of 3 ints \\(symmetric_dim1_crop, symmetric_dim2_crop, symmetric_dim3_crop\\), or a tuple of 3 tuples of 2 ints \\(\\(left_dim1_crop, right_dim1_crop\\), \\(left_dim2_crop, right_dim2_crop\\), \\(left_dim3_crop, right_dim2_crop\\)\\)\\. Received: (.+?)\\.","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"keras/src/layers/reshaping/cropping3d.py","lineNumber":91,"sourceCode":"                (cropping, cropping),\n            )\n        elif hasattr(cropping, \"__len__\"):\n            if len(cropping) != 3:\n                raise ValueError(\n                    f\"`cropping` should have 3 elements. Received: {cropping}.\"\n                )\n            dim1_cropping = argument_validation.standardize_tuple(\n                cropping[0], 2, \"1st entry of cropping\", allow_zero=True\n            )\n            dim2_cropping = argument_validation.standardize_tuple(\n                cropping[1], 2, \"2nd entry of cropping\", allow_zero=True\n            )\n            dim3_cropping = argument_validation.standardize_tuple(\n                cropping[2], 2, \"3rd entry of cropping\", allow_zero=True\n            )\n            self.cropping = (dim1_cropping, dim2_cropping, dim3_cropping)\n        else:\n            raise ValueError(\n                \"`cropping` should be either an int, a tuple of 3 ints \"\n                \"(symmetric_dim1_crop, symmetric_dim2_crop, \"\n                \"symmetric_dim3_crop), \"\n                \"or a tuple of 3 tuples of 2 ints \"\n                \"((left_dim1_crop, right_dim1_crop),\"\n                \" (left_dim2_crop, right_dim2_crop),\"\n                \" (left_dim3_crop, right_dim2_crop)). \"\n                f\"Received: {cropping}.\"\n            )\n        self.input_spec = InputSpec(ndim=5)\n\n    def compute_output_shape(self, input_shape):\n        if self.data_format == \"channels_first\":\n            spatial_dims = list(input_shape[2:5])\n        else:\n            spatial_dims = list(input_shape[1:4])\n\n        for index in range(0, 3):","sourceCodeStart":73,"sourceCodeEnd":109,"githubUrl":"https://github.com/keras-team/keras/blob/7a34a03db60bf60042242d6a556fc3be119046a5/keras/src/layers/reshaping/cropping3d.py#L73-L109","documentation":"Error \"`cropping` should be either an int, a tuple of 3 ints (symmetric_dim1_crop, symmetric_dim2_crop, symmetric_dim3_crop), or a tuple of 3 tuples of 2 ints ((left_dim1_crop, right_dim1_crop), (left_dim2_crop, right_dim2_crop), (left_dim3_crop, right_dim2_crop)). Received: {cropping}.\" thrown in keras-team/keras.","triggerScenarios":"Thrown at keras/src/layers/reshaping/cropping3d.py:91 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"}