code: def show_predictions(self, predictions):
      if self._enabled:
          dataset = self.get_dataset("train")
          color_map = dataset.color_map
  
          predictions_visualizations = []
          for prediction_batch in predictions:
              for pred in prediction_batch:
                  predictions_visualizations.append(
                      {
                          "points": pred[DataKeys.INPUT],
                          "labels": pred[DataKeys.TARGET],
                          "predictions": torch.argmax(
                              pred[DataKeys.PREDS], axis=-1
                          )
                          + 1,
                          "name": pred[DataKeys.METADATA]["name"],
                      }
                  )
  
          viz = Visualizer()
          lut = LabelLUT()
          color_map = dataset.color_map
          for id_color, val in dataset.label_to_names.items():
              lut.add_label(
                  str(id_color), id_color, color=color_map[id_color]
              )
          viz.set_lut("labels", lut)
          viz.set_lut("predictions", lut)
          viz.visualize(predictions_visualizations)
  
file_path: lightning-flash/src/flash/pointcloud/segmentation/open3d_ml/app.py
imports: import torch
  from flash.core.data.data_module import DataModule
  from flash.core.data.io.input import DataKeys
  from flash.core.utilities.imports import _TOPIC_POINTCLOUD_AVAILABLE
label_desc: Use image node_id 4 for calling the App obj's underlying member method code with example usage: obj.show_predictions(predictions) without return types