code: def learner(
      dls: List[Union[DataLoader, fastai.DataLoader]],
      model: nn.Module,
      cbs=None,
      **learner_kwargs,
  ):
      """Fastai `Learner` adapted for RCNN.
  
      # Arguments
          dls: `Sequence` of `DataLoaders` passed to the `Learner`.
          The first one will be used for training and the second for validation.
          model: The model to train.
          cbs: Optional `Sequence` of callbacks.
          **learner_kwargs: Keyword arguments that will be internally passed to `Learner`.
  
      # Returns
          A fastai `Learner`.
      """
      cbs = [KeypointRCNNCallback()] + L(cbs)
      return rcnn_learner(
          dls=dls, model=model, cbs=cbs, **learner_kwargs
      )
  
file_path: icevision/icevision/models/torchvision/keypoint_rcnn/fastai.py
imports: from icevision.imports import *
  from icevision.engines.fastai import *
  from icevision.models.torchvision.fastai_learner import rcnn_learner
  from icevision.models.torchvision.fastai_callbacks import *
  from icevision.models.torchvision.keypoint_rcnn.prediction import *
label_desc: Use image node_id 1 for calling a global function with example usage: learner(dls, model, cbs) and returns: rcnn_learner