class_docstr: Use mlflow to implement ExpManager.
code: def _end_exp(self, recorder_status: Text = Recorder.STATUS_S):
      if self.active_experiment is not None:
          self.active_experiment.end(recorder_status)
          self.active_experiment = None
  
imports: from urllib.parse import urlparse
  import mlflow
  from filelock import FileLock
  from mlflow.exceptions import MlflowException, RESOURCE_ALREADY_EXISTS, ErrorCode
  from mlflow.entities import ViewType
  import os
  from typing import Optional, Text
  from .exp import MLflowExperiment, Experiment
  from ..config import C
  from .recorder import Recorder
  from ..log import get_module_logger
  from ..utils.exceptions import ExpAlreadyExistError
label_desc: Use image node_id 3 for calling the MLflowExpManager obj's underlying member method code with example usage: obj._end_exp(recorder_status) without return types