code: def on_run_end(self):
      self._datamodule_state_dict = self.trainer.datamodule.state_dict()
      self._reset_fitting()
      self._teardown()
      return super().on_run_end()
  
imports: import contextlib
  from copy import deepcopy
  from typing import Any, Dict, Optional
  from pytorch_lightning import LightningModule
  from pytorch_lightning.loops import Loop
  from pytorch_lightning.loops.fit_loop import FitLoop
  from pytorch_lightning.trainer.connectors.data_connector import _DataLoaderSource
  from pytorch_lightning.trainer.progress import Progress
  from pytorch_lightning.trainer.states import TrainerFn, TrainerStatus
  from pytorch_lightning.utilities.model_helpers import is_overridden
  from torch import Tensor
  import flash
  from flash.core.data.utils import _STAGES_PREFIX
  from flash.core.utilities.imports import requires
  from flash.core.utilities.stability import beta
  from flash.core.utilities.stages import RunningStage
  from flash.image.classification.integrations.baal.data import ActiveLearningDataModule
  from flash.image.classification.integrations.baal.dropout import InferenceMCDropoutTask
label_desc: Use image node_id 9 for calling the ActiveLearningLoop obj's underlying member method code with example usage: obj.on_run_end() and returns: super