class_docstr: The ``PointCloudClassifier`` is a :class:`~flash.core.classification.ClassificationTask` that classifies
  pointcloud data.
  
  Args:
      num_classes: The number of classes (outputs) for this :class:`~flash.core.model.Task`.
      backbone: The backbone name (or a tuple of ``nn.Module``, output size) to use.
      backbone_kwargs: Any additional kwargs to pass to the backbone constructor.
      head: a `nn.Module` to use on top of the backbone. The output dimension should match the `num_classes`
          argument. If not set will default to a single linear layer.
      loss_fn: The loss function to use. If ``None``, a default will be selected by the
          :class:`~flash.core.classification.ClassificationTask` depending on the ``multi_label`` argument.
      optimizer: Optimizer to use for training.
      lr_scheduler: The LR scheduler to use during training.
      metrics: Any metrics to use with this :class:`~flash.core.model.Task`. If ``None``, a default will be selected
          by the :class:`~flash.core.classification.ClassificationTask` depending on the ``multi_label`` argument.
      learning_rate: The learning rate for the optimizer.
      multi_label: If ``True``, this will be treated as a multi-label classification problem.
code: def training_step(self, batch: Any, batch_idx: int) -> Any:
      batch = (
          batch[DataKeys.INPUT],
          batch[DataKeys.INPUT]["labels"].view(-1),
      )
      return super().training_step(batch, batch_idx)
  
imports: from typing import Any, Dict, Iterable, Optional, Tuple, Union
  import torch
  from torch import Tensor, nn
  from torch.nn import functional
  from torch.utils.data import DataLoader, Sampler
  import flash
  from flash.core.classification import ClassificationTask
  from flash.core.data.io.input import DataKeys, InputBase
  from flash.core.data.io.input_transform import InputTransform
  from flash.core.data.utilities.collate import wrap_collate
  from flash.core.registry import FlashRegistry
  from flash.core.utilities.imports import _TM_GREATER_EQUAL_0_10_0, _TOPIC_POINTCLOUD_AVAILABLE
  from flash.core.utilities.stability import beta
  from flash.core.utilities.types import LOSS_FN_TYPE, LR_SCHEDULER_TYPE, METRICS_TYPE, OPTIMIZER_TYPE
  from flash.pointcloud.segmentation.backbones import POINTCLOUD_SEGMENTATION_BACKBONES
label_desc: Use image node_id 5 for calling the PointCloudSegmentation obj's underlying member method code with example usage: obj.training_step(batch, batch_idx) and returns: super