class_docstr: Wrapper around Semantic Kitti that creates train and test datasets.
  Parameters
  ----------
  dataset_opt: omegaconf.DictConfig
      Config dictionary that should contain
          - root,
          - split,
          - transform,
          - pre_transform
          - process_workers
code: def __init__(self, dataset_opt):
      super().__init__(dataset_opt)
      process_workers: int = (
          dataset_opt.process_workers
          if dataset_opt.process_workers
          else 0
      )
      self.train_dataset = SemanticKitti(
          self._data_path,
          split="train",
          transform=self.train_transform,
          pre_transform=self.pre_transform,
          process_workers=process_workers,
      )
  
      self.val_dataset = SemanticKitti(
          self._data_path,
          split="val",
          transform=self.val_transform,
          pre_transform=self.pre_transform,
          process_workers=process_workers,
      )
  
      self.test_dataset = SemanticKitti(
          self._data_path,
          split="test",
          transform=self.test_transform,
          pre_transform=self.pre_transform,
          process_workers=process_workers,
      )
  
imports: import os
  from glob import glob
  import numpy
  import multiprocessing
  import logging
  import torch
  from torch_geometric.data import Dataset, Data
  from torch_points3d.datasets.base_dataset import BaseDataset
  from torch_points3d.datasets.segmentation.kitti_config import *
  from torch_points3d.datasets.segmentation import IGNORE_LABEL
  from torch_points3d.metrics.segmentation_tracker import SegmentationTracker
label_desc: Use image node_id 1 to create a new SemanticKittiDataset object from inherited base classes: BaseDataset with example: obj = SemanticKittiDataset(dataset_opt)