code: def log_basic_info(logger, config):
      logger.info(f"Train {config['model']} on IMDB")
      logger.info(f"- PyTorch version: {torch.__version__}")
      logger.info(f"- Ignite version: {ignite.__version__}")
      if torch.cuda.is_available():
          # explicitly import cudnn as
          # torch.backends.cudnn can not be pickled with hvd spawning procs
          from torch.backends import cudnn
  
          logger.info(
              f"- GPU Device: {torch.cuda.get_device_name(idist.get_local_rank())}"
          )
          logger.info(f"- CUDA version: {torch.version.cuda}")
          logger.info(f"- CUDNN version: {cudnn.version()}")
  
      logger.info("\n")
      logger.info("Configuration:")
      for key, value in config.items():
          logger.info(f"\t{key}: {value}")
      logger.info("\n")
  
      if idist.get_world_size() > 1:
          logger.info("\nDistributed setting:")
          logger.info(f"\tbackend: {idist.backend()}")
          logger.info(f"\tworld size: {idist.get_world_size()}")
          logger.info("\n")
  
imports: import os
  from datetime import datetime
  from pathlib import Path
  import fire
  import torch
  import torch.nn
  import torch.optim
  import utils
  from torch.cuda.amp import autocast, GradScaler
  import ignite
  import ignite.distributed
  from ignite.contrib.engines import common
  from ignite.contrib.handlers import PiecewiseLinear
  from ignite.engine import Engine, Events
  from ignite.handlers import Checkpoint, global_step_from_engine
  from ignite.metrics import Accuracy, Loss
  from ignite.utils import manual_seed, setup_logger
label_desc: Use image node_id 6 for calling a global function with example usage: log_basic_info(logger, config) without return types