class_docstr: Base class transform for performing a point cloud inference using a pre_trained model
  Subclass and implement the ``__call__`` method with your own forward. 
  See ``PointNetForward`` for an example implementation.
  
  Parameters
  ----------
  checkpoint_dir: str
      Path to a checkpoint directory
  model_name: str
      Model name, the file ``checkpoint_dir/model_name.pt`` must exist
code: def __init__(
      self,
      checkpoint_dir,
      model_name,
      weight_name,
      feat_name,
      num_classes=None,
      mock_dataset=True,
  ):
      # Checkpoint
      from torch_points3d.datasets.base_dataset import BaseDataset
      from torch_points3d.datasets.dataset_factory import (
          instantiate_dataset,
      )
      from torch_points3d.utils.mock import MockDataset
      import torch_points3d.metrics.model_checkpoint as model_checkpoint
  
      checkpoint = model_checkpoint.ModelCheckpoint(
          checkpoint_dir, model_name, weight_name, strict=True
      )
      if mock_dataset:
          dataset = MockDataset(num_classes)
          dataset.num_classes = num_classes
      else:
          dataset = instantiate_dataset(checkpoint.data_config)
      BaseDataset.set_transform(self, checkpoint.data_config)
      self.model = checkpoint.create_model(
          dataset, weight_name=weight_name
      )
      self.model.eval()
  
file_path: torch-points3d/torch_points3d/core/data_transform/inference_transforms.py
imports: import os
  import sys
  import logging
label_desc: Use image node_id 1 to create a new ModelInference object from inherited base classes: object with example: obj = ModelInference(checkpoint_dir, model_name, weight_name, feat_name, num_classes, mock_dataset)