code: def test_operator_erase_with_normalized_coords():
      # layout, shape, axis_names, anchor, shape, anchor_norm, shape_norm
      rois = [
          (
              "HWC",
              (60, 80, 3),
              "HW",
              (4, 10),
              (40, 50),
              (4 / 60.0, 10 / 80.0),
              (40 / 60.0, 50 / 80.0),
              0,
          ),
          (
              "HWC",
              (60, 80, 3),
              "HW",
              (4, 10),
              (40, 50),
              (4 / 60.0, 10 / 80.0),
              (40 / 60.0, 50 / 80.0),
              -1,
          ),
          (
              "HWC",
              (60, 80, 3),
              "HW",
              (4, 10),
              (40, 50),
              (4 / 60.0, 10 / 80.0),
              (40 / 60.0, 50 / 80.0),
              (118, 186, 0),
          ),
          (
              "HWC",
              (60, 80, 3),
              "HW",
              (4, 2, 3, 4),
              (50, 10, 10, 50),
              (4 / 60.0, 2 / 80.0, 3 / 60.0, 4 / 80.0),
              (50 / 60.0, 10 / 80.0, 10 / 60.0, 50 / 80.0),
              0,
          ),
          (
              "HWC",
              (60, 80, 3),
              "H",
              (4,),
              (7,),
              (4 / 60.0,),
              (7 / 60.0,),
              0,
          ),
          (
              "DHWC",
              (10, 60, 80, 3),
              "DHW",
              (2, 4, 10),
              (5, 40, 50),
              (2 / 10.0, 4 / 60.0, 10 / 80.0),
              (5 / 10.0, 40 / 60.0, 50 / 80.0),
              0,
          ),
          (
              "HWC",
              (60, 80, 1),
              "WH",
              (10, 4),
              (50, 40),
              (10 / 80.0, 4 / 60.0),
              (50 / 80.0, 40 / 60.0),
              0,
          ),
          (
              "XYZ",
              (60, 80, 3),
              "X",
              (4,),
              (7,),
              (4 / 60.0,),
              (7 / 60.0,),
              -10,
          ),
      ]
  
      for device in ["cpu", "gpu"]:
          for batch_size in [1, 8]:
              for (
                  input_layout,
                  input_shape,
                  axis_names,
                  anchor,
                  shape,
                  anchor_norm,
                  shape_norm,
                  fill_value,
              ) in rois:
                  assert len(input_layout) == len(input_shape)
                  assert len(anchor) == len(shape)
                  assert len(anchor) % len(axis_names) == 0
                  for normalized_anchor, normalized_shape in [
                      (True, True),
                      (True, False),
                      (False, True),
                  ]:
                      anchor_norm_arg = (
                          anchor_norm if normalized_anchor else anchor
                      )
                      shape_norm_arg = (
                          shape_norm if normalized_shape else shape
                      )
                      yield (
                          check_operator_erase_with_normalized_coords,
                          device,
                          batch_size,
                          input_shape,
                          anchor,
                          shape,
                          axis_names,
                          input_layout,
                          anchor_norm_arg,
                          shape_norm_arg,
                          normalized_anchor,
                          normalized_shape,
                      )
  
imports: from nvidia.dali.pipeline import Pipeline
  import nvidia.dali.ops
  import numpy
  from functools import partial
  from test_utils import compare_pipelines
  from test_utils import RandomDataIterator
label_desc: Use image node_id 7 for calling a global function with example usage: test_operator_erase_with_normalized_coords() without return types