class_docstr: A single PNA tower in PNA layers
class_docstr_tok: ["A","single","PNA","tower","in","PNA","layers"]
docstr: message function for PNA layer
docstr_tok: ["message","function","for","PNA","layer"]
code: def message(self, edges):
      """message function for PNA layer"""
      if self.edge_feat_size > 0:
          f = torch.cat(
              [edges.src["h"], edges.dst["h"], edges.data["a"]], dim=-1
          )
      else:
          f = torch.cat([edges.src["h"], edges.dst["h"]], dim=-1)
      return {"msg": self.M(f)}
  
imports: import numpy
  import torch
  import torch.nn
label_desc: Use image node_id 3 for calling the PNAConvTower obj's underlying member method code with example usage: obj.message(edges) and returns: dict