class_docstr: An implementation of the integrated Gated Graph Convolution Long Short
  Term Memory Layer. For details see this paper: `"Predictive Temporal Embedding
  of Dynamic Graphs." <https://ieeexplore.ieee.org/document/9073186>`_
  
  Args:
      conv_out_channels (int): Number of output channels for the GGCN.
      conv_num_layers (int): Number of Gated Graph Convolutions.
      conv_aggr (str): Aggregation scheme to use
          (:obj:`"add"`, :obj:`"mean"`, :obj:`"max"`).
      lstm_out_channels (int): Number of LSTM channels.
      lstm_num_layers (int): Number of neurons in LSTM.
code: def __init__(
      self,
      conv_out_channels: int,
      conv_num_layers: int,
      conv_aggr: str,
      lstm_out_channels: int,
      lstm_num_layers: int,
  ):
      super(DyGrEncoder, self).__init__()
      assert conv_aggr in ["mean", "add", "max"], "Wrong aggregator."
      self.conv_out_channels = conv_out_channels
      self.conv_num_layers = conv_num_layers
      self.conv_aggr = conv_aggr
      self.lstm_out_channels = lstm_out_channels
      self.lstm_num_layers = lstm_num_layers
      self._create_layers()
  
imports: import torch
  from torch.nn import LSTM
  from torch_geometric.nn import GatedGraphConv
label_desc: Use image node_id 1 to create a new DyGrEncoder object from inherited base classes: torch.nn with example: obj = DyGrEncoder(conv_out_channels, conv_num_layers, conv_aggr, lstm_out_channels, lstm_num_layers)