class_docstr: The Graph Auto-Encoder model from the
  `"Variational Graph Auto-Encoders" <https://arxiv.org/abs/1611.07308>`_
  paper based on user-defined encoder and decoder models.
  
  Args:
      encoder (torch.nn.Module): The encoder module.
      decoder (torch.nn.Module, optional): The decoder module. If set to
          :obj:`None`, will default to the
          :class:`torch_geometric.nn.models.InnerProductDecoder`.
          (default: :obj:`None`)
class_docstr_tok: ["The","Graph","Auto-Encoder","model","from","the","`","``","Variational","Graph","Auto-Encoders","''","<","https",":","\/\/arxiv.org\/abs\/1611.07308",">","`","_","paper","based","on","user-defined","encoder","and","decoder","models",".","Args",":","encoder","(","torch.nn.Module",")",":","The","encoder","module",".","decoder","(","torch.nn.Module",",","optional",")",":","The","decoder","module",".","If","set","to",":","obj",":","`","None","`",",","will","default","to","the",":","class",":","`","torch_geometric.nn.models.InnerProductDecoder","`",".","(","default",":",":","obj",":","`","None","`",")"]
docstr: Alias for :meth:`encode`.
docstr_tok: ["Alias","for",":","meth",":","`","encode","`","."]
code: def forward(self, *args, **kwargs) -> Tensor:  # pragma: no cover
      r"""Alias for :meth:`encode`."""
      return self.encoder(*args, **kwargs)
  
imports: from typing import Optional, Tuple
  import torch
  from torch import Tensor
  from torch.nn import Module
  from torch_geometric.nn.inits import reset
  from torch_geometric.utils import negative_sampling
label_desc: Use image node_id 3 for calling the GAE obj's underlying member method code with example usage: obj.forward() and returns: self