class_docstr: Log objects to Weights and Biases.
docstr: Log all metrics to W&B.
  
  :param setting:
      One of train/valid/test. Will be used as the title for the graph.
  :param step:
      Number of parleys
  :param report:
      The report to log
docstr_tok: ["Log","all","metrics","to","W","&","B",".",":","param","setting",":","One","of","train\/valid\/test",".","Will","be","used","as","the","title","for","the","graph",".",":","param","step",":","Number","of","parleys",":","param","report",":","The","report","to","log"]
code: def log_metrics(self, setting, step, report):
      """
      Log all metrics to W&B.
  
      :param setting:
          One of train/valid/test. Will be used as the title for the graph.
      :param step:
          Number of parleys
      :param report:
          The report to log
      """
      report = dict_report(report)
      report = {
          f"{k}/{setting}": v
          for k, v in report.items()
          if isinstance(v, numbers.Number)
      }
      report["custom_step"] = step
      self.run.log(report)
  
imports: import datetime
  import json
  import numbers
  import os
  import pathlib
  import re
  from typing import Optional
  import parlai.utils.logging
  from parlai.core.metrics import Metric, dict_report, get_metric_display_data
  from parlai.core.opt import Opt
  from parlai.core.params import ParlaiParser
  from parlai.utils.io import PathManager
label_desc: Use image node_id 3 for calling the WandbLogger obj's underlying member method code with example usage: obj.log_metrics(setting, step, report) without return types