code: def reduce_on_task_components(
      self,
      fn_name: str,
      task_name: str,
      reduction: Optional[str] = None,
      **fn_kwargs,
  ) -> Any:
      composite = self.task_composites[task_name]
      return composite.reduce_on_components(
          fn_name, reduction, **fn_kwargs
      )
  
imports: from icevision.imports import *
  from icevision.core import tasks
label_desc: Use image node_id 7 for calling the TaskComposite obj's underlying member method code with example usage: obj.reduce_on_task_components(fn_name, task_name, reduction) and returns: composite