code: def transforms_imagenet_eval(
      img_size=224,
      crop_pct=None,
      interpolation="bilinear",
      use_prefetcher=False,
      mean=IMAGENET_DEFAULT_MEAN,
      std=IMAGENET_DEFAULT_STD,
  ):
      crop_pct = crop_pct or DEFAULT_CROP_PCT
  
      if isinstance(img_size, tuple):
          assert len(img_size) == 2
          if img_size[-1] == img_size[-2]:
              # fall-back to older behaviour so Resize scales to shortest edge if target is square
              scale_size = int(math.floor(img_size[0] / crop_pct))
          else:
              scale_size = tuple([int(x / crop_pct) for x in img_size])
      else:
          scale_size = int(math.floor(img_size / crop_pct))
  
      tfl = [
          transforms.Resize(scale_size, _pil_interp(interpolation)),
          transforms.CenterCrop(img_size),
      ]
      if use_prefetcher:
          # prefetcher and collate will handle tensor conversion and norm
          tfl += [ToNumpy()]
      else:
          tfl += [
              transforms.ToTensor(),
              transforms.Normalize(
                  mean=torch.tensor(mean), std=torch.tensor(std)
              ),
          ]
  
      return transforms.Compose(tfl)
  
file_path: gen-efficientnet-pytorch/data/transforms.py
imports: import torch
  from torchvision import transforms
  from PIL import Image
  import math
  import numpy
label_desc: Use image node_id 3 for calling a global function with example usage: transforms_imagenet_eval(img_size, crop_pct, interpolation, use_prefetcher, mean, std) and returns: transforms