code: def ms_image_augment(
      image: Tensor,
      size_offsets: List[Union[int, Tuple[int, int]]],
      mode="bilinear",
      align_corners=False,
  ) -> List[Tensor]:
      """
      Multi-scale image augmentation. This function create list of resized tensors from the input one.
      """
      batch_size, channels, rows, cols = image.size()
      augmented_inputs = []
      for offset in size_offsets:
          if isinstance(offset, (tuple, list)):
              rows_offset, cols_offset = offset
          else:
              rows_offset, cols_offset = offset, offset
  
          if rows_offset == 0 and cols_offset == 0:
              augmented_inputs.append(image)
          else:
              scale_size = rows + rows_offset, cols + cols_offset
              scaled_input = torch.nn.functional.interpolate(
                  image,
                  size=scale_size,
                  mode=mode,
                  align_corners=align_corners,
              )
              augmented_inputs.append(scaled_input)
      return augmented_inputs
  
imports: from collections import defaultdict
  from functools import partial
  from typing import Tuple, List, Optional, Union, Callable, Dict, Mapping
  import torch
  from torch import Tensor, nn
  from .None import functional
  from ..utils.support import pytorch_toolbelt_deprecated
label_desc: Use image node_id 31 for calling a global function with example usage: ms_image_augment(image, size_offsets, mode, align_corners) and returns: augmented_inputs