class_docstr: The continuous-filter convolutional neural network SchNet from the
  `"SchNet: A Continuous-filter Convolutional Neural Network for Modeling
  Quantum Interactions" <https://arxiv.org/abs/1706.08566>`_ paper that uses
  the interactions blocks of the form.
  
  .. math::
      \mathbf{x}^{\prime}_i = \sum_{j \in \mathcal{N}(i)} \mathbf{x}_j \odot
      h_{\mathbf{\Theta}} ( \exp(-\gamma(\mathbf{e}_{j,i} - \mathbf{\mu}))),
  
  here :math:`h_{\mathbf{\Theta}}` denotes an MLP and
  :math:`\mathbf{e}_{j,i}` denotes the interatomic distances between atoms.
  
  .. note::
  
      For an example of using a pretrained SchNet variant, see
      `examples/qm9_pretrained_schnet.py
      <https://github.com/pyg-team/pytorch_geometric/blob/master/examples/
      qm9_pretrained_schnet.py>`_.
  
  Args:
      hidden_channels (int, optional): Hidden embedding size.
          (default: :obj:`128`)
      num_filters (int, optional): The number of filters to use.
          (default: :obj:`128`)
      num_interactions (int, optional): The number of interaction blocks.
          (default: :obj:`6`)
      num_gaussians (int, optional): The number of gaussians :math:`\mu`.
          (default: :obj:`50`)
      interaction_graph (callable, optional): The function used to compute
          the pairwise interaction graph and interatomic distances. If set to
          :obj:`None`, will construct a graph based on :obj:`cutoff` and
          :obj:`max_num_neighbors` properties.
          If provided, this method takes in :obj:`pos` and :obj:`batch`
          tensors and should return :obj:`(edge_index, edge_weight)` tensors.
          (default :obj:`None`)
      cutoff (float, optional): Cutoff distance for interatomic interactions.
          (default: :obj:`10.0`)
      max_num_neighbors (int, optional): The maximum number of neighbors to
          collect for each node within the :attr:`cutoff` distance.
          (default: :obj:`32`)
      readout (str, optional): Whether to apply :obj:`"add"` or :obj:`"mean"`
          global aggregation. (default: :obj:`"add"`)
      dipole (bool, optional): If set to :obj:`True`, will use the magnitude
          of the dipole moment to make the final prediction, *e.g.*, for
          target 0 of :class:`torch_geometric.datasets.QM9`.
          (default: :obj:`False`)
      mean (float, optional): The mean of the property to predict.
          (default: :obj:`None`)
      std (float, optional): The standard deviation of the property to
          predict. (default: :obj:`None`)
      atomref (torch.Tensor, optional): The reference of single-atom
          properties.
          Expects a vector of shape :obj:`(max_atomic_number, )`.
class_docstr_tok: ["The","continuous-filter","convolutional","neural","network","SchNet","from","the","`","``","SchNet",":","A","Continuous-filter","Convolutional","Neural","Network","for","Modeling","Quantum","Interactions","''","<","https",":","\/\/arxiv.org\/abs\/1706.08566",">","`","_","paper","that","uses","the","interactions","blocks","of","the","form",".","..","math",":",":","\\mathbf","{","x","}","^","{","\\prime","}","_i","=","\\sum_","{","j","\\in","\\mathcal","{","N","}","(","i",")","}","\\mathbf","{","x","}","_j","\\odot","h_","{","\\mathbf","{","\\Theta","}","}","(","\\exp","(","-\\gamma","(","\\mathbf","{","e","}","_","{","j",",","i","}","-","\\mathbf","{","\\mu","}",")",")",")",",","here",":","math",":","`","h_","{","\\mathbf","{","\\Theta","}","}","`","denotes","an","MLP","and",":","math",":","`","\\mathbf","{","e","}","_","{","j",",","i","}","`","denotes","the","interatomic","distances","between","atoms",".","..","note",":",":","For","an","example","of","using","a","pretrained","SchNet","variant",",","see","`","examples\/qm9_pretrained_schnet.py","<","https",":","\/\/github.com\/pyg-team\/pytorch_geometric\/blob\/master\/examples\/","qm9_pretrained_schnet.py",">","`","_",".","Args",":","hidden_channels","(","int",",","optional",")",":","Hidden","embedding","size",".","(","default",":",":","obj",":","`","128","`",")","num_filters","(","int",",","optional",")",":","The","number","of","filters","to","use",".","(","default",":",":","obj",":","`","128","`",")","num_interactions","(","int",",","optional",")",":","The","number","of","interaction","blocks",".","(","default",":",":","obj",":","`","6","`",")","num_gaussians","(","int",",","optional",")",":","The","number","of","gaussians",":","math",":","`","\\mu","`",".","(","default",":",":","obj",":","`","50","`",")","interaction_graph","(","callable",",","optional",")",":","The","function","used","to","compute","the","pairwise","interaction","graph","and","interatomic","distances",".","If","set","to",":","obj",":","`","None","`",",","will","construct","a","graph","based","on",":","obj",":","`","cutoff","`","and",":","obj",":","`","max_num_neighbors","`","properties",".","If","provided",",","this","method","takes","in",":","obj",":","`","pos","`","and",":","obj",":","`","batch","`","tensors","and","should","return",":","obj",":","`","(","edge_index",",","edge_weight",")","`","tensors",".","(","default",":","obj",":","`","None","`",")","cutoff","(","float",",","optional",")",":","Cutoff","distance","for","interatomic","interactions",".","(","default",":",":","obj",":","`","10.0","`",")","max_num_neighbors","(","int",",","optional",")",":","The","maximum","number","of","neighbors","to","collect","for","each","node","within","the",":","attr",":","`","cutoff","`","distance",".","(","default",":",":","obj",":","`","32","`",")","readout","(","str",",","optional",")",":","Whether","to","apply",":","obj",":","`","``","add","''","`","or",":","obj",":","`","``","mean","''","`","global","aggregation",".","(","default",":",":","obj",":","`","``","add","''","`",")","dipole","(","bool",",","optional",")",":","If","set","to",":","obj",":","`","True","`",",","will","use","the","magnitude","of","the","dipole","moment","to","make","the","final","prediction",",","*","e.g",".","*",",","for","target","0","of",":","class",":","`","torch_geometric.datasets.QM9","`",".","(","default",":",":","obj",":","`","False","`",")","mean","(","float",",","optional",")",":","The","mean","of","the","property","to","predict",".","(","default",":",":","obj",":","`","None","`",")","std","(","float",",","optional",")",":","The","standard","deviation","of","the","property","to","predict",".","(","default",":",":","obj",":","`","None","`",")","atomref","(","torch.Tensor",",","optional",")",":","The","reference","of","single-atom","properties",".","Expects","a","vector","of","shape",":","obj",":","`","(","max_atomic_number",",",")","`","."]
docstr: Resets all learnable parameters of the module.
code: def reset_parameters(self):
      r"""Resets all learnable parameters of the module."""
      self.embedding.reset_parameters()
      for interaction in self.interactions:
          interaction.reset_parameters()
      torch.nn.init.xavier_uniform_(self.lin1.weight)
      self.lin1.bias.data.fill_(0)
      torch.nn.init.xavier_uniform_(self.lin2.weight)
      self.lin2.bias.data.fill_(0)
      if self.atomref is not None:
          self.atomref.weight.data.copy_(self.initial_atomref)
  
imports: import os
  import os.path
  import warnings
  from math import pi
  from typing import Callable, Dict, Optional, Tuple
  import numpy
  import torch
  import torch.nn.functional
  from torch import Tensor
  from torch.nn import Embedding, Linear, ModuleList, Sequential
  from torch_geometric.data import Dataset, download_url, extract_zip
  from torch_geometric.nn import MessagePassing, SumAggregation, radius_graph
  from torch_geometric.nn.resolver import aggregation_resolver
  from torch_geometric.typing import OptTensor
label_desc: Use image node_id 2 for calling the SchNet obj's underlying member method code with example usage: obj.reset_parameters() without return types