code: def all_to_cuda(data, device=None):
      if isinstance(data, torch.Tensor):
          data = to_cuda(data, device)
      elif isinstance(data, (list, dict)):
          keys = (
              range(len(data))
              if isinstance(data, list)
              else data.keys()
          )
          for k in keys:
              if isinstance(data[k], torch.Tensor):
                  data[k] = to_cuda(data[k], device)
  
      return data
  
imports: import argparse
  import os
  import time
  import numpy
  import torch
  import torch.backends.cudnn
  import torch.optim
  from torch.optim.lr_scheduler import ReduceLROnPlateau
  from torch.utils.data import DataLoader
  from graph4nlp.pytorch.datasets.cnn import CNNDataset
  from graph4nlp.pytorch.modules.config import get_basic_args
  from graph4nlp.pytorch.modules.evaluation.rouge import ROUGE
  from graph4nlp.pytorch.modules.utils import constants
  from graph4nlp.pytorch.modules.utils.config_utils import get_yaml_config, update_values
  from graph4nlp.pytorch.modules.utils.copy_utils import prepare_ext_vocab
  from graph4nlp.pytorch.modules.utils.generic_utils import EarlyStopping, to_cuda
  from graph4nlp.pytorch.modules.utils.logger import Logger
  from graph4nlp.pytorch.modules.utils.summarization_utils import wordid2str
  from main import SumModel
label_desc: Use image node_id 1 for calling a global function with example usage: all_to_cuda(data, device) and returns: data