code: def _get_update_net(
      self, node_feat_dim, update_net_hiddens, node_update_type
  ):
      if node_update_type == NodeUpdateType.GRU:
          self.update_net = torch.nn.GRU(
              node_feat_dim * 3, node_feat_dim
          )
      else:
          layer = []
          layer.append(
              torch.nn.Linear(node_feat_dim * 4, update_net_hiddens[0])
          )
          for i in range(1, len(update_net_hiddens)):
              layer.append(torch.nn.ReLU())
              layer.append(
                  torch.nn.Linear(
                      update_net_hiddens[i - 1], update_net_hiddens[i]
                  )
              )
          layer.append(torch.nn.ReLU())
          layer.append(
              torch.nn.Linear(update_net_hiddens[-1], node_feat_dim)
          )
          self.update_net = torch.nn.Sequential(*layer)
  
file_path: DIG/dig/auggraph/method/GraphAug/aug/aug_encoder.py
imports: import torch
  from torch.nn import Linear, Sequential, ReLU, BatchNorm1d
  from torch_geometric.nn import GINConv
  from torch_scatter import scatter
  from ..constants import *
label_desc: Use image node_id 3 for calling the GEMBConv obj's underlying member method code with example usage: obj._get_update_net(node_feat_dim, update_net_hiddens, node_update_type) without return types