class_docstr: Log objects to ClearML.
  
  To log all the necessary details for a ParlAI experiment using MLOps. After logging,
  details can be viewed in ClearML Experiment Manager Web UI.
docstr: Log all metrics (iteratively during training) to ClearML WebUI.
  
  :param setting:
      One of train/valid/test. Here, it will be "train". Will be used as the title for the graph/table/chart.
  :param step:
      Number of parleys
  :param report:
      The report to log
docstr_tok: ["Log","all","metrics","(","iteratively","during","training",")","to","ClearML","WebUI",".",":","param","setting",":","One","of","train\/valid\/test",".","Here",",","it","will","be","``","train","''",".","Will","be","used","as","the","title","for","the","graph\/table\/chart",".",":","param","step",":","Number","of","parleys",":","param","report",":","The","report","to","log"]
code: def log_metrics(self, setting, step, report):
      """
      Log all metrics (iteratively during training) to ClearML WebUI.
  
      :param setting:
          One of train/valid/test. Here, it will be "train". Will be used as the title for the graph/table/chart.
      :param step:
          Number of parleys
      :param report:
          The report to log
      """
      for k, v in report.items():
          v = v.value() if isinstance(v, Metric) else v
          if not isinstance(v, numbers.Number):
              logging.error(f"k {k} v {v} is not a number")
              continue
          display = get_metric_display_data(metric=k)
  
          try:
              self.clearml_logger.report_scalar(
                  title=f"{display.title} ({k})",
                  series=f"{setting}",
                  value=v,
                  iteration=step,
              )
  
          except Exception as exception:
              print(exception)
  
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 ClearMLLogger obj's underlying member method code with example usage: obj.log_metrics(setting, step, report) without return types