class_docstr: Apply resize to image and bounding boxes.
  
  Parameters
  ----------
  width : int
      The target output width.
  height : int
      The target output height.
  
  Inputs:
      - **data**: input tensor with (Hi x Wi x C) shape.
      - **bbox**: input tensor with shape (N, 4+) where N is the number of bounding boxes.
          The second axis represents attributes of the bounding box.
          Specifically, these are :math:`(x_{min}, y_{min}, x_{max}, y_{max})`,
          we allow additional attributes other than coordinates, which stay intact
          during bounding box transformations.
  
  Outputs:
      - **out**: Cropped image with shape (H x W x C)
      - **bbox**: Cropped bounding boxes with shape :obj:`(M, 4+)` where M <= N.
          Tuple of length 4 as :math:`(x_{min}, y_{min}, x_{max}, y_{max})`.
code: def forward(self, img, bbox):
      if len(img.shape) != 3:
          raise NotImplementedError(
              "ImageBboxResize only support images in HWC format"
          )
  
      if self._interp == -1:
          # random interpolation mode
          interp = random.randint(0, 5)
      else:
          interp = self._interp
  
      if is_np_array():
          new_img = npx.image.resize(img, self._size, False, interp)
          new_bbox = np.array(
              bbox_resize(
                  bbox.asnumpy(),
                  (img.shape[-2], img.shape[-3]),
                  self._size,
              )
          )
      else:
          new_img = nd.image.resize(img, self._size, False, interp)
          new_bbox = nd.array(
              bbox_resize(
                  bbox.asnumpy(),
                  (img.shape[-2], img.shape[-3]),
                  self._size,
              )
          )
      return new_img, new_bbox
  
imports: import random
  from .......base import numeric_types
  from ......block import Block
  from .......util import is_np_array
  from .......None import ndarray, numpy_extension, numpy
  from .utils import _check_bbox_shape, bbox_crop, bbox_translate
  from .utils import bbox_resize, bbox_random_crop_with_constraints
label_desc: Use image node_id 2 for calling the ImageBboxResize obj's underlying member method code with example usage: obj.forward(img, bbox) and returns: new_img,  new_bbox