code: def log_metrics(
      self, metric_outputs: MetricsOutputs, state: TrainerState
  ) -> None:
      if not self.enabled:
          return None
      for key, value in metric_outputs.metric_values.items():
          self.mlflow_client.log_metric(
              self.run_id, key, value, step=state.step
          )
      score = metric_outputs.final_score
      self.mlflow_client.log_metric(
          self.run_id, "score", score, step=state.step
      )
  
imports: import os
  import json
  import time
  import shutil
  import getpass
  import platform
  from typing import Any
  from typing import Dict
  from typing import Optional
  from cftool.misc import lock_manager
  from cftool.misc import print_warning
  from cftool.misc import fix_float_to_length
  from ..schema import ITrainer
  from ..schema import StepOutputs
  from ..schema import TrainerState
  from ..schema import MetricsOutputs
  from ..schema import TrainerCallback
  from ..constants import PT_PREFIX
  from ..constants import SCORES_FILE
label_desc: Use image node_id 5 for calling the MLFlowCallback obj's underlying member method code with example usage: obj.log_metrics(metric_outputs, state) and returns: None