class_docstr: Specific class for node classification layer.
  
  
  Parameters
  ----------
  
  input_size : int
               The length of input node embeddings
  output_size : int
             The number of node catrgoriey for classification
  hidden_size : int
                the hidden size of the linear layer
code: def __init__(
      self, input_size, output_size, hidden_size=None, dropout=0
  ):
      super(BiLSTMFeedForwardNNLayer, self).__init__()
      self.hidden_size = hidden_size
      self.output_size = output_size
      self.device = (
          th.device("cuda")
          if th.cuda.is_available()
          else th.device("cpu")
      )
      if hidden_size is not None:
          self.lstm = nn.LSTM(
              input_size,
              self.hidden_size // 2,
              num_layers=1,
              bidirectional=True,
              batch_first=True,
              dropout=dropout,
          )  # Maps the output of the LSTM into tag space.
          self.linear = nn.Linear(hidden_size, self.output_size)
  
      else:
          self.lstm = nn.LSTM(
              input_size,
              self.output_size // 2,
              num_layers=1,
              bidirectional=True,
              batch_first=True,
              dropout=dropout,
          )
  
file_path: graph4nlp/graph4nlp/pytorch/modules/prediction/classification/node_classification/BiLSTMFeedForwardNNLayer.py
imports: import torch
  import torch.autograd
  from torch import nn
  from ..base import NodeClassifierLayerBase
label_desc: Use image node_id 1 to create a new BiLSTMFeedForwardNNLayer object from inherited base classes: NodeClassifierLayerBase with example: obj = BiLSTMFeedForwardNNLayer(input_size, output_size, hidden_size, dropout)