code: def recursive_copy_to_gpu(
      value: Any, non_blocking: bool = True
  ) -> Any:
      """
      Recursively searches lists, tuples, dicts and copies tensors to GPU if
      possible. Non-tensor values are passed as-is in the result.
      Note:  These are all copies, so if there are two objects that reference
      the same object, then after this call, there will be two different objects
      referenced on the GPU.
      """
      return recursive_copy_to_device(
          value=value, non_blocking=non_blocking, device=GPU_DEVICE
      )
  
imports: import collections.abc
  import contextlib
  import json
  import logging
  import os
  import time
  from functools import partial
  from typing import Any, Dict, List, Optional, Tuple, Union
  import numpy
  import torch
  import torch.nn
  from classy_vision.generic.distributed_util import broadcast_object, is_primary
  from fvcore.common.file_io import PathManager
label_desc: Use image node_id 13 for calling a global function with example usage: recursive_copy_to_gpu(value, non_blocking) and returns: recursive_copy_to_device