code: def _on_epoch_end(original_fn, recorder, *args, **kwargs):
      original_fn(recorder, *args, **kwargs)
      if not PatchFastaiV1._current_task:
          return
  
      # noinspection PyBroadException
      try:
          logger = PatchFastaiV1._current_task.get_logger()
          iteration = kwargs.get("iteration")
          for series, value in zip(
              PatchFastaiV1.__metrics_names[id(recorder)],
              [kwargs.get("smooth_loss")]
              + kwargs.get("last_metrics", []),
          ):
              logger.report_scalar(
                  title="metrics",
                  series=series,
                  value=value,
                  iteration=iteration,
              )
          PatchFastaiV1._current_task.flush()
      except Exception:
          pass
  
imports: import sys
  import numpy
  from clearml.utilities.version import Version
  from .None import _patched_call
  from .tensorflow_bind import WeightsGradientHistHelper
  from ..import_bind import PostImportHookPatching
  from ...debugging.log import LoggerRoot
  from .tensorflow_bind import IsTensorboardInit
label_desc: Use image node_id 5 for calling the PatchFastaiV1 obj's underlying member method code with example usage: obj._on_epoch_end(original_fn, recorder) without return types