def test_builder_to_backend_ios17(self, compute_unit, backend, N):
        """For iOS17+ the `roi` input is replaced by `boxes` and `box_indices`."""
        x = np.arange(1, 17, dtype=np.float32).reshape(1, 1, 4, 4)
        boxes = np.array([1, 1, 2, 2], dtype=np.float32).reshape(1, 4)
        box_indices = None
        normalized_coordinates = False
        if N == 3:
            boxes = np.array(
                [
                    [0.1, 0.3, 1.3, 1.0],
                    [0.5, 1.8, 1.0, 0.3],
                    [0.0, 0.4, 0.6, 0.7],
                ],
                dtype=np.float32,
            )
            box_indices = np.array([0] * 3, dtype=np.int32)
            normalized_coordinates = True

        def build(x):
            return mb.crop_resize(
                x=x,
                boxes=boxes,
                box_indices=box_indices,
                target_width=2,
                target_height=2,
                normalized_coordinates=normalized_coordinates,
                box_coordinate_mode="CORNERS_HEIGHT_FIRST",
                sampling_mode="ALIGN_CORNERS",
                pad_value=10.0,
            )

        expected_outputs = [np.array([6, 7, 10, 11], dtype=np.float32).reshape(1, 1, 2, 2)]
        if N == 3:
            expected_outputs = [
                np.array(
                    [3.1, 5.2, 10.0, 10.0, 10.0, 7.899, 10.0, 13.9, 2.2, 3.1, 9.4, 10.3],
                    dtype=np.float32,
                ).reshape(3, 1, 2, 2)
            ]

        run_compare_builder(
            build,
            input_placeholders={"x": mb.placeholder(shape=(1, 1, 4, 4))},
            input_values={"x": x},
            expected_output_types=[(N, 1, 2, 2, types.fp32)],
            expected_outputs=expected_outputs,
            compute_unit=compute_unit,
            backend=backend,
        )
For iOS17+ the `roi` input is replaced by `boxes` and `box_indices`.
coremltools/converters/mil/mil/ops/tests/iOS17/test_image_resizing.py