class_docstr: The GraphDTA's GCN encoder module, which comprises three graph convolutional layers and one full connected layer.
  The model is a variant of DeepDTA and is applied to encoding drug molecule graph information. The original paper
  is  `"GraphDTA: Predicting drug–target binding affinity with graph neural networks"
  <https://academic.oup.com/bioinformatics/advance-article-abstract/doi/10.1093/bioinformatics/btaa921/5942970>`_ .
  
  Args:
      in_channel (int): Dimension of each input node feature.
      out_channel (int): Dimension of each output node feature.
      dropout_rate (float): dropout rate during training.
class_docstr_tok: ["The","GraphDTA","'s","GCN","encoder","module",",","which","comprises","three","graph","convolutional","layers","and","one","full","connected","layer",".","The","model","is","a","variant","of","DeepDTA","and","is","applied","to","encoding","drug","molecule","graph","information",".","The","original","paper","is","`","``","GraphDTA",":","Predicting","drug\u2013target","binding","affinity","with","graph","neural","networks","''","<","https",":","\/\/academic.oup.com\/bioinformatics\/advance-article-abstract\/doi\/10.1093\/bioinformatics\/btaa921\/5942970",">","`","_",".","Args",":","in_channel","(","int",")",":","Dimension","of","each","input","node","feature",".","out_channel","(","int",")",":","Dimension","of","each","output","node","feature",".","dropout_rate","(","float",")",":","dropout","rate","during","training","."]
code: def __init__(self, in_channel=78, out_channel=128, dropout_rate=0.2):
      super(GCNEncoder, self).__init__()
      self.conv1 = GCNConv(in_channel, in_channel)
      self.conv2 = GCNConv(in_channel, in_channel * 2)
      self.conv3 = GCNConv(in_channel * 2, in_channel * 4)
      self.fc = nn.Linear(in_channel * 4, out_channel)
      self.relu = nn.ReLU()
      self.dropout = nn.Dropout(dropout_rate)
  
file_path: pykale/kale/embed/seq_nn.py
imports: import torch.nn
  import torch.nn.functional
  from torch_geometric.nn import GCNConv, global_max_pool
label_desc: Use image node_id 1 to create a new GCNEncoder object from inherited base classes: nn with example: obj = GCNEncoder(in_channel, out_channel, dropout_rate)