code: def __init__(
      self,
      vocab_model,
      embedding_style,
      graph_name,
      emb_input_size,
      emb_hidden_size,
      gnn,
      gnn_num_layers,
      gnn_direction_option,
      gnn_input_size,
      gnn_hidden_size,
      gnn_output_size,
      # dropout
      emb_word_dropout=0.0,
      emb_rnn_dropout=0.0,
      emb_fix_word_emb=False,
      emb_fix_bert_emb=False,
      gnn_feats_dropout=0.0,
      gnn_attn_dropout=0.0,
      **kwargs,
  ):
      super(Graph2XBase, self).__init__()
      self.vocab_model = vocab_model
      self._build_embedding_encoder(
          graph_name=graph_name,
          embedding_style=embedding_style,
          vocab_model=vocab_model,
          emb_input_size=emb_input_size,
          emb_hidden_size=emb_hidden_size,
          emb_word_dropout=emb_word_dropout,
          emb_rnn_dropout=emb_rnn_dropout,
          emb_fix_word_emb=emb_fix_word_emb,
          emb_fix_bert_emb=emb_fix_bert_emb,
          **kwargs,
      )
  
      self._build_gnn_encoder(
          gnn=gnn,
          num_layers=gnn_num_layers,
          input_size=gnn_input_size,
          hidden_size=gnn_hidden_size,
          output_size=gnn_output_size,
          direction_option=gnn_direction_option,
          feats_dropout=gnn_feats_dropout,
          gnn_attn_dropout=gnn_attn_dropout,
          **kwargs,
      )
  
imports: import abc
  import os
  import torch
  import torch.nn
  import torch.nn.functional
  from graph4nlp.pytorch.modules.graph_construction.node_embedding_based_graph_construction import NodeEmbeddingBasedGraphConstruction
  from graph4nlp.pytorch.modules.graph_construction.node_embedding_based_refined_graph_construction import NodeEmbeddingBasedRefinedGraphConstruction
  from graph4nlp.pytorch.modules.graph_embedding_initialization.graph_embedding_initialization import GraphEmbeddingInitialization
  from graph4nlp.pytorch.modules.graph_embedding_learning.gat import GAT
  from graph4nlp.pytorch.modules.graph_embedding_learning.gcn import GCN
  from graph4nlp.pytorch.modules.graph_embedding_learning.ggnn import GGNN
  from graph4nlp.pytorch.modules.graph_embedding_learning.graphsage import GraphSAGE
label_desc: Use image node_id 1 to create a new Graph2XBase object from inherited base classes: nn with example: obj = Graph2XBase(vocab_model, embedding_style, graph_name, emb_input_size, emb_hidden_size, gnn, gnn_num_layers, gnn_direction_option, gnn_input_size, gnn_hidden_size, gnn_output_size, emb_word_dropout, emb_rnn_dropout, emb_fix_word_emb, emb_fix_bert_emb, gnn_feats_dropout, gnn_attn_dropout)