docstr: Unpack input data from the dataloader and perform necessary pre-processing steps.
  
  Parameters
  -----------
  data:
      a dictionary that contains the data itself and its metadata information.
docstr_tok: ["Unpack","input","data","from","the","dataloader","and","perform","necessary","pre-processing","steps",".","Parameters","--","--","--","--","--","-","data",":","a","dictionary","that","contains","the","data","itself","and","its","metadata","information","."]
code: def _set_input(self, data):
      """Unpack input data from the dataloader and perform necessary pre-processing steps.
  
      Parameters
      -----------
      data:
          a dictionary that contains the data itself and its metadata information.
      """
      data = data.to(self.device)
      if isinstance(data, MultiScaleBatch):
          self.pre_computed = data.multiscale
          self.upsample = data.upsample
          del data.upsample
          del data.multiscale
      else:
          self.upsample = None
          self.pre_computed = None
  
      self.input = data
  
imports: import os
  from omegaconf import DictConfig, OmegaConf
  import logging
  from torch_points3d.applications.modelfactory import ModelFactory
  from torch_points3d.core.common_modules import FastBatchNorm1d
  from torch_points3d.modules.KPConv import *
  from torch_points3d.core.base_conv.partial_dense import *
  from torch_points3d.models.base_architectures.unet import UnwrappedUnetBasedModel
  from torch_points3d.datasets.multiscale_data import MultiScaleBatch
  from torch_points3d.core.common_modules.base_modules import MLP
  from .utils import extract_output_nc
label_desc: Use image node_id 4 for calling the BaseKPConv obj's underlying member method code with example usage: obj._set_input(data) without return types