code: def set_input(self, data, device):
      self.raw_pos = data.pos.to(device)
      self.input = data
      all_labels = {
          l: data[l].to(device) for l in self.__REQUIRED_LABELS__
      }
      self.labels = PanopticLabels(**all_labels)
  
imports: import torch
  import os
  from torch_points_kernels import region_grow
  from torch_geometric.data import Data
  from torch_scatter import scatter
  import random
  from torch_points3d.datasets.segmentation import IGNORE_LABEL
  from torch_points3d.models.base_model import BaseModel
  from torch_points3d.applications.minkowski import Minkowski
  from torch_points3d.core.common_modules import Seq, MLP, FastBatchNorm1d
  from torch_points3d.core.losses import offset_loss, instance_iou_loss
  from torch_points3d.core.data_transform import GridSampling3D
  from .structures import PanopticLabels, PanopticResults
  from torch_points3d.utils import is_list
label_desc: Use image node_id 2 for calling the PointGroup obj's underlying member method code with example usage: obj.set_input(data, device) without return types