class_docstr: GCN_LSTM is a univariate timeseries forecasting method. The architecture  comprises of a stack of N1 Graph Convolutional layers followed by N2 LSTM layers, a Dropout layer, and  a Dense layer.
  This main components of GNN architecture is inspired by: T-GCN: A Temporal Graph Convolutional Network for Traffic Prediction (https://arxiv.org/abs/1811.05320).
  The implementation of the above paper is based on one graph convolution layer stacked with a GRU layer.
  
  The StellarGraph implementation is built as a stack of the following set of layers:
  
  1. User specified no. of Graph Convolutional layers
  2. User specified no. of LSTM layers
  3. 1 Dense layer
  4. 1 Dropout layer.
  
  The last two layers consistently showed better performance and regularization experimentally.
  
  .. seealso::
  
     Example using GCN_LSTM: `spatio-temporal time-series prediction <https://stellargraph.readthedocs.io/en/stable/demos/time-series/gcn-lstm-time-series.html>`__.
  
     Appropriate data generator: :class:`.SlidingFeaturesNodeGenerator`.
  
     Related model: :class:`.GCN` for graphs without time-series node features.
  
  Args:
     seq_len: No. of LSTM cells
     adj: unweighted/weighted adjacency matrix of [no.of nodes by no. of nodes dimension
     gc_layer_sizes (list of int): Output sizes of Graph Convolution  layers in the stack.
     lstm_layer_sizes (list of int): Output sizes of LSTM layers in the stack.
     generator (SlidingFeaturesNodeGenerator): A generator instance.
     bias (bool): If True, a bias vector is learnt for each layer in the GCN model.
     dropout (float): Dropout rate applied to input features of each GCN layer.
     gc_activations (list of str or func): Activations applied to each layer's output; defaults to ``['relu', ..., 'relu']``.
     lstm_activations (list of str or func): Activations applied to each layer's output; defaults to ``['tanh', ..., 'tanh']``.
     kernel_initializer (str or func, optional): The initialiser to use for the weights of each layer.
     kernel_regularizer (str or func, optional): The regulariser to use for the weights of each layer.
     kernel_constraint (str or func, optional): The constraint to use for the weights of each layer.
     bias_initializer (str or func, optional): The initialiser to use for the bias of each layer.
     bias_regularizer (str or func, optional): The regulariser to use for the bias of each layer.
     bias_constraint (str or func, optional): The constraint to use for the bias of each layer.
   
class_docstr_tok: ["GCN_LSTM","is","a","univariate","timeseries","forecasting","method",".","The","architecture","comprises","of","a","stack","of","N1","Graph","Convolutional","layers","followed","by","N2","LSTM","layers",",","a","Dropout","layer",",","and","a","Dense","layer",".","This","main","components","of","GNN","architecture","is","inspired","by",":","T-GCN",":","A","Temporal","Graph","Convolutional","Network","for","Traffic","Prediction","(","https",":","\/\/arxiv.org\/abs\/1811.05320",")",".","The","implementation","of","the","above","paper","is","based","on","one","graph","convolution","layer","stacked","with","a","GRU","layer",".","The","StellarGraph","implementation","is","built","as","a","stack","of","the","following","set","of","layers",":","1",".","User","specified","no",".","of","Graph","Convolutional","layers","2",".","User","specified","no",".","of","LSTM","layers","3",".","1","Dense","layer","4",".","1","Dropout","layer",".","The","last","two","layers","consistently","showed","better","performance","and","regularization","experimentally",".","..","seealso",":",":","Example","using","GCN_LSTM",":","`","spatio-temporal","time-series","prediction","<","https",":","\/\/stellargraph.readthedocs.io\/en\/stable\/demos\/time-series\/gcn-lstm-time-series.html",">","`","__",".","Appropriate","data","generator",":",":","class",":","`",".SlidingFeaturesNodeGenerator","`",".","Related","model",":",":","class",":","`",".GCN","`","for","graphs","without","time-series","node","features",".","Args",":","seq_len",":","No",".","of","LSTM","cells","adj",":","unweighted\/weighted","adjacency","matrix","of","[","no.of","nodes","by","no",".","of","nodes","dimension","gc_layer_sizes","(","list","of","int",")",":","Output","sizes","of","Graph","Convolution","layers","in","the","stack",".","lstm_layer_sizes","(","list","of","int",")",":","Output","sizes","of","LSTM","layers","in","the","stack",".","generator","(","SlidingFeaturesNodeGenerator",")",":","A","generator","instance",".","bias","(","bool",")",":","If","True",",","a","bias","vector","is","learnt","for","each","layer","in","the","GCN","model",".","dropout","(","float",")",":","Dropout","rate","applied","to","input","features","of","each","GCN","layer",".","gc_activations","(","list","of","str","or","func",")",":","Activations","applied","to","each","layer","'s","output",";","defaults","to","``","[","'relu","'",",","...",",","'relu","'","]","``",".","lstm_activations","(","list","of","str","or","func",")",":","Activations","applied","to","each","layer","'s","output",";","defaults","to","``","[","'tanh","'",",","...",",","'tanh","'","]","``",".","kernel_initializer","(","str","or","func",",","optional",")",":","The","initialiser","to","use","for","the","weights","of","each","layer",".","kernel_regularizer","(","str","or","func",",","optional",")",":","The","regulariser","to","use","for","the","weights","of","each","layer",".","kernel_constraint","(","str","or","func",",","optional",")",":","The","constraint","to","use","for","the","weights","of","each","layer",".","bias_initializer","(","str","or","func",",","optional",")",":","The","initialiser","to","use","for","the","bias","of","each","layer",".","bias_regularizer","(","str","or","func",",","optional",")",":","The","regulariser","to","use","for","the","bias","of","each","layer",".","bias_constraint","(","str","or","func",",","optional",")",":","The","constraint","to","use","for","the","bias","of","each","layer","."]
docstr: Builds a GCN model for node  feature prediction
  
  Returns:
      tuple: ``(x_inp, x_out)``, where ``x_inp`` is a list of Keras/TensorFlow
          input tensors for the GCN model and ``x_out`` is a tensor of the GCN model output.
docstr_tok: ["Builds","a","GCN","model","for","node","feature","prediction","Returns",":","tuple",":","``","(","x_inp",",","x_out",")","``",",","where","``","x_inp","``","is","a","list","of","Keras\/TensorFlow","input","tensors","for","the","GCN","model","and","``","x_out","``","is","a","tensor","of","the","GCN","model","output","."]
code: def in_out_tensors(self):
      """
      Builds a GCN model for node  feature prediction
  
      Returns:
          tuple: ``(x_inp, x_out)``, where ``x_inp`` is a list of Keras/TensorFlow
              input tensors for the GCN model and ``x_out`` is a tensor of the GCN model output.
      """
      # Inputs for features
      if self.multivariate_input:
          shape = (None, self.n_nodes, self.n_features, self.variates)
      else:
          shape = (None, self.n_nodes, self.n_features)
  
      x_t = Input(batch_shape=shape)
  
      # Indices to gather for model output
      out_indices_t = Input(
          batch_shape=(None, self.n_nodes), dtype="int32"
      )
  
      x_inp = [x_t, out_indices_t]
      x_out = self(x_inp)
  
      return x_inp[0], x_out
  
file_path: stellargraph/stellargraph/layer/gcn_lstm.py
imports: import tensorflow
  from tensorflow.keras import backend
  from tensorflow.keras import activations, initializers, constraints, regularizers
  from tensorflow.keras.layers import Input, Layer, Dropout, LSTM, Dense, Permute, Reshape
  from ..mapper import SlidingFeaturesNodeGenerator
  from ..core.experimental import experimental
  from ..core.utils import calculate_laplacian
label_desc: Use image node_id 3 for calling the GCN_LSTM obj's underlying member method code with example usage: obj.in_out_tensors() and returns: x_inp,  x_out