code: def forward(self, x):
      if x.shape[-1] > 3:
          pos = x[:, :, :3]
      else:
          pos = x
  
      feat = x
      h = self.fc(feat)
      h, _ = self.ptb(h, pos)
  
      hidden_state = [(pos, h)]
      for td, tf in zip(self.transition_downs, self.transformers):
          pos, h = td(pos, h)
          h, _ = tf(h, pos)
          hidden_state.append((pos, h))
  
      return h, hidden_state
  
imports: import numpy
  import torch
  from helper import index_points, square_distance, TransitionDown, TransitionUp
  from torch import nn
label_desc: Use image node_id 2 for calling the PointTransformer obj's underlying member method code with example usage: obj.forward(x) and returns: h,  hidden_state