code: def __init__(self, dataset_opt):
      super().__init__(dataset_opt)
      forward_category = dataset_opt.forward_category
      if not isinstance(forward_category, str):
          raise ValueError(
              "dataset_opt.forward_category is not set or is not a string. Current value: {}".format(
                  dataset_opt.forward_category
              )
          )
      self._train_categories = dataset_opt.category
      if not is_list(self._train_categories):
          self._train_categories = [self._train_categories]
  
      # Sets the index of the category with respect to the categories in the trained model
      self._cat_idx = None
      for i, train_category in enumerate(self._train_categories):
          if forward_category.lower() == train_category.lower():
              self._cat_idx = i
              break
      if self._cat_idx is None:
          raise ValueError(
              "Cannot run an inference on category {} with a network trained on {}".format(
                  forward_category, self._train_categories
              )
          )
      log.info(
          "Running an inference on category {} with a network trained on {}".format(
              forward_category, self._train_categories
          )
      )
  
      self._data_path = dataset_opt.dataroot
      # include_normals = dataset_opt.include_normals if dataset_opt.include_normals else True
      include_normals = dataset_opt.get(
          "include_normals", True
      )  # Update to OmegaConf 2.0
  
      transforms = SaveOriginalPosId()
      for t in [self.pre_transform, self.test_transform]:
          if t:
              transforms = T.Compose([transforms, t])
      self.test_dataset = _ForwardShapenet(
          self._data_path,
          self._cat_idx,
          transforms=transforms,
          include_normals=include_normals,
      )
  
imports: import torch
  import glob
  import os
  from torch_geometric.io import read_txt_array
  from torch_geometric.data.data import Data
  import torch_geometric.transforms
  from torch_geometric.nn import knn_interpolate
  import numpy
  import logging
  from torch_points3d.core.data_transform import SaveOriginalPosId
  from torch_points3d.utils import is_list
  from torch_points3d.datasets.base_dataset import BaseDataset
  from torch_points3d.metrics.shapenet_part_tracker import ShapenetPartTracker
  from torch_points3d.datasets.segmentation.shapenet import ShapeNet
label_desc: Use image node_id 1 to create a new ForwardShapenetDataset object from inherited base classes: BaseDataset with example: obj = ForwardShapenetDataset(dataset_opt)