code: def from_biwi(
      train_folder: Optional[str] = None,
      train_ann_file: Optional[str] = None,
      val_folder: Optional[str] = None,
      val_ann_file: Optional[str] = None,
      test_folder: Optional[str] = None,
      test_ann_file: Optional[str] = None,
      predict_folder: Optional[str] = None,
      val_split: float = 0.1,
      parser: Optional[Callable] = None,
      transform_kwargs: Optional[Dict[str, Any]] = None,
      batch_size: int = 1,
      **data_module_kwargs,
  ) -> KeypointDetectionData:
      """Downloads and loads the BIWI data set from icedata."""
      data_dir = icedata.biwi.load_data()
  
      if parser is None:
          parser = icedata.biwi.parser
  
      return KeypointDetectionData.from_icedata(
          train_folder=train_folder or data_dir,
          train_ann_file=train_ann_file,
          val_folder=val_folder,
          val_ann_file=val_ann_file,
          test_folder=test_folder,
          test_ann_file=test_ann_file,
          predict_folder=predict_folder,
          val_split=val_split,
          transform_kwargs={"image_size": (128, 128)}
          if transform_kwargs is None
          else transform_kwargs,
          batch_size=batch_size,
          parser=parser,
          **data_module_kwargs,
      )
  
imports: from typing import Any, Callable, Dict, Optional
  from flash.core.utilities.flash_cli import FlashCLI
  from flash.core.utilities.imports import _ICEDATA_AVAILABLE, requires
  from flash.image import KeypointDetectionData, KeypointDetector
label_desc: Use image node_id 1 for calling a global function with example usage: from_biwi(train_folder, train_ann_file, val_folder, val_ann_file, test_folder, test_ann_file, predict_folder, val_split, parser, transform_kwargs, batch_size) and returns: KeypointDetectionData