code: def init_wandb(save_dir, opt, config, group_name, name_str):
      print(f"setting WANDB_DIR to {save_dir}")
      os.makedirs(save_dir, exist_ok=True)
  
      os.environ["WANDB_DIR"] = save_dir
      if opt.debug:
          wandb.init(
              project=opt.projectname, mode="offline", group=group_name
          )
      else:
          wandb.init(
              project=opt.projectname,
              config=config,
              settings=wandb.Settings(code_dir="./sgm"),
              group=group_name,
              name=name_str,
          )
  
imports: import argparse
  import datetime
  import glob
  import inspect
  import os
  import sys
  from inspect import Parameter
  from typing import Union
  import numpy
  import pytorch_lightning
  import torch
  import torchvision
  import wandb
  from matplotlib import pyplot
  from natsort import natsorted
  from omegaconf import OmegaConf
  from packaging import version
  from PIL import Image
  from pytorch_lightning import seed_everything
  from pytorch_lightning.callbacks import Callback
  from pytorch_lightning.loggers import WandbLogger
  from pytorch_lightning.trainer import Trainer
  from pytorch_lightning.utilities import rank_zero_only
  from sgm.util import exists, instantiate_from_config, isheatmap
label_desc: Use image node_id 4 for calling a global function with example usage: init_wandb(save_dir, opt, config, group_name, name_str) without return types