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 forward(self, x, edge_index, batch):
      x = self.relu(self.conv1(x, edge_index))
      x = self.relu(self.conv2(x, edge_index))
      x = self.relu(self.conv3(x, edge_index))
      x = global_max_pool(x, batch)
      x = self.fc(x)
      x = self.dropout(x)
      return x
  
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 2 for calling the GCNEncoder obj's underlying member method code with example usage: obj.forward(x, edge_index, batch) and returns: x