class_docstr: The Jumping Knowledge layer aggregation module from the
  `"Representation Learning on Graphs with Jumping Knowledge Networks"
  <https://arxiv.org/abs/1806.03536>`_ paper.
  
  Jumping knowledge is performed based on either **concatenation**
  (:obj:`"cat"`)
  
  .. math::
  
      \mathbf{x}_v^{(1)} \, \Vert \, \ldots \, \Vert \, \mathbf{x}_v^{(T)},
  
  **max pooling** (:obj:`"max"`)
  
  .. math::
  
      \max \left( \mathbf{x}_v^{(1)}, \ldots, \mathbf{x}_v^{(T)} \right),
  
  or **weighted summation**
  
  .. math::
  
      \sum_{t=1}^T \alpha_v^{(t)} \mathbf{x}_v^{(t)}
  
  with attention scores :math:`\alpha_v^{(t)}` obtained from a bi-directional
  LSTM (:obj:`"lstm"`).
  
  Args:
      mode (str): The aggregation scheme to use
          (:obj:`"cat"`, :obj:`"max"` or :obj:`"lstm"`).
      channels (int, optional): The number of channels per representation.
          Needs to be only set for LSTM-style aggregation.
          (default: :obj:`None`)
      num_layers (int, optional): The number of layers to aggregate. Needs to
          be only set for LSTM-style aggregation. (default: :obj:`None`)
docstr: Resets all learnable parameters of the module.
docstr_tok: ["Resets","all","learnable","parameters","of","the","module","."]
code: def reset_parameters(self):
      r"""Resets all learnable parameters of the module."""
      if self.lstm is not None:
          self.lstm.reset_parameters()
      if self.att is not None:
          self.att.reset_parameters()
  
file_path: pytorch_geometric/torch_geometric/nn/models/jumping_knowledge.py
imports: from typing import List, Optional
  import torch
  from torch import Tensor
  from torch.nn import LSTM, Linear
label_desc: Use image node_id 2 for calling the JumpingKnowledge obj's underlying member method code with example usage: obj.reset_parameters() without return types