code: def initialize(self) -> None:
      if not self.is_local_rank_0:
          return None
      if mlflow is None:
          print_warning(
              "`mlflow` is not installed, so `MLFlowCallback` will have no effect."
          )
          return
      tracking_folder = os.path.abspath(self.tracking_folder)
      tracking_dir = os.path.join(tracking_folder, "mlruns")
      with lock_manager(tracking_folder, []) as lock:
          os.makedirs(tracking_dir, exist_ok=True)
          tracking_uri = parse_mlflow_uri(tracking_dir)
          self.mlflow_client = mlflow.tracking.MlflowClient(
              tracking_uri
          )
          name = self.experiment_name
          experiment = self.mlflow_client.get_experiment_by_name(name)
          if experiment is not None:
              experiment_id = experiment.experiment_id
          else:
              experiment_id = self.mlflow_client.create_experiment(name)
          lock._stuffs = [os.path.join(tracking_dir, experiment_id)]
  
      run = None
      from_external = False
      if existing_run_id := MLFLOW_RUN_ID.get():
          del os.environ[MLFLOW_RUN_ID.name]
          try:
              run = self.mlflow_client.get_run(existing_run_id)
              from_external = True
          except MlflowException:
              print_warning(
                  "`run_id` is found in environment but "
                  "corresponding mlflow run does not exist. This might cause by "
                  "external calls."
              )
  
      if run is None:
          if self.run_tags is None:
              self.run_tags = {}
          self.run_tags.setdefault(MLFLOW_USER, getpass.getuser())
          if self.run_name is not None:
              if self.run_name_prefix is not None:
                  self.run_name = (
                      f"{self.run_name_prefix}_{self.run_name}"
                  )
              self.run_tags.setdefault(MLFLOW_RUN_NAME, self.run_name)
          run = self.mlflow_client.create_run(
              experiment_id, tags=self.run_tags
          )
      self.run_id = run.info.run_id
  
      if not from_external:
          for key, value in (self.params or {}).items():
              self.mlflow_client.log_param(self.run_id, key, value)
  
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 3 for calling the MLFlowCallback obj's underlying member method code with example usage: obj.initialize() and returns: None