code: def tensorize(
      self, datapoint: PPIGraphSample
  ) -> Optional[TensorizedPPIData]:
      graph_tensors = self.__gnn_model.tensorize(
          GraphData[np.ndarray](
              node_information=datapoint.node_features,
              edges={
                  f"e{i}": a
                  for i, a in enumerate(datapoint.adjacency_lists)
              },
              reference_nodes={},
          )
      )
  
      if graph_tensors is None:
          return None
  
      return TensorizedPPIData(graph_tensors, datapoint.node_labels)
  
imports: import numpy
  import torch
  from torch import nn
  from typing import Any, Dict, Iterable, NamedTuple, Optional, Union
  from ptgnn.baseneuralmodel import AbstractNeuralModel, ModuleWithMetrics
  from ptgnn.baseneuralmodel.utils.data import enforce_not_None
  from ptgnn.implementations.ppi.dataloader import PPIGraphSample
  from ptgnn.neuralmodels.gnn.graphneuralnetwork import GraphNeuralNetwork, GraphNeuralNetworkModel
  from ptgnn.neuralmodels.gnn.structs import GnnOutput, GraphData, TensorizedGraphData
label_desc: Use image node_id 5 for calling the PPIMulticlassClassification obj's underlying member method code with example usage: obj.tensorize(datapoint) and returns: TensorizedPPIData, None