class_docstr: Logger for WandB (Weights & Biases). This logger is designed to be used in the same way as TrainLogger
  and supports handling nested dictionaries as well.
  
  Arguments
  ---------
  initializer: callable
      A callable function that initializes the WandB run.
      For more information on the parameters that can be passed to the initializer, refer to
      the documentation: https://docs.wandb.ai/ref/python/init
  *args: tuple
      Positional arguments to be passed to the initializer function.
  **kwargs: dict
      Keyword arguments to be passed to the initializer function.
  
  Example
  -------
  To initialize the logger, use the following pattern in hparams.yaml:
  
  ```
  train_logger: !new:speechbrain.utils.train_logger.WandBLogger
      initializer: !name:wandb.init
          entity: speechbrain
          project: sb_project
          name: sb_run
          reinit: True
          resume: False
          dir: !ref <output_folder>/wandb
  ```
  
  NOTE
  ----
  If there is an issue with the WandB Logger initialization, it raises an exception.
docstr: See TrainLogger.log_stats()
docstr_tok: ["See","TrainLogger.log_stats","(",")"]
code: def log_stats(
      self,
      stats_meta,
      train_stats=None,
      valid_stats=None,
      test_stats=None,
      verbose=False,
  ):
      """See TrainLogger.log_stats()"""
  
      logs = {}
      for dataset, stats in [
          ("train", train_stats),
          ("valid", valid_stats),
          ("test", test_stats),
      ]:
          if stats is None:
              continue
          logs[dataset] = stats
  
      step = stats_meta.get("epoch", None)
      if step is not None:  # Useful for continuing runs that crashed
          self.run.log({**logs, **stats_meta}, step=step)
      else:
          self.run.log({**logs, **stats_meta})
  
imports: import logging
  import torch
  import os
  from speechbrain.utils.distributed import main_process_only, if_main_process
label_desc: Use image node_id 2 for calling the WandBLogger obj's underlying member method code with example usage: obj.log_stats(stats_meta, train_stats, valid_stats, test_stats, verbose) without return types