class_docstr: One step encoder unit for hidden representation generation
  it can stack multiple vertical layers to increase the depth.
  
  Parameter
  ==========
  in_feats : int
      number if input features
  
  out_feats : int
      number of output features
  
  num_layers : int
      vertical depth of one step encoding unit
  
  net : torch.nn.Module
      message passing network for graph computation
class_docstr_tok: ["One","step","encoder","unit","for","hidden","representation","generation","it","can","stack","multiple","vertical","layers","to","increase","the","depth",".","Parameter","==========","in_feats",":","int","number","if","input","features","out_feats",":","int","number","of","output","features","num_layers",":","int","vertical","depth","of","one","step","encoding","unit","net",":","torch.nn.Module","message","passing","network","for","graph","computation"]
code: def forward(self, g, x, hidden_states):
      hiddens = []
      for i, layer in enumerate(self.layers):
          x = layer(g, x, hidden_states[i])
          hiddens.append(x)
      return x, hiddens
  
imports: import dgl
  import dgl.function
  import dgl.nn
  import numpy
  import scipy.sparse
  import torch
  import torch.nn
  from dgl.base import DGLError
  from dgl.nn.functional import edge_softmax
label_desc: Use image node_id 2 for calling the StackedEncoder obj's underlying member method code with example usage: obj.forward(g, x, hidden_states) and returns: x,  hiddens