class_docstr: The convolutional operator on :math:`\mathcal{X}`-transformed points
  from the `"PointCNN: Convolution On X-Transformed Points"
  <https://arxiv.org/abs/1801.07791>`_ paper.
  
  .. math::
      \mathbf{x}^{\prime}_i = \mathrm{Conv}\left(\mathbf{K},
      \gamma_{\mathbf{\Theta}}(\mathbf{P}_i - \mathbf{p}_i) \times
      \left( h_\mathbf{\Theta}(\mathbf{P}_i - \mathbf{p}_i) \, \Vert \,
      \mathbf{x}_i \right) \right),
  
  where :math:`\mathbf{K}` and :math:`\mathbf{P}_i` denote the trainable
  filter and neighboring point positions of :math:`\mathbf{x}_i`,
  respectively.
  :math:`\gamma_{\mathbf{\Theta}}` and :math:`h_{\mathbf{\Theta}}` describe
  neural networks, *i.e.* MLPs, where :math:`h_{\mathbf{\Theta}}`
  individually lifts each point into a higher-dimensional space, and
  :math:`\gamma_{\mathbf{\Theta}}` computes the :math:`\mathcal{X}`-
  transformation matrix based on *all* points in a neighborhood.
  
  Args:
      in_channels (int): Size of each input sample.
      out_channels (int): Size of each output sample.
      dim (int): Point cloud dimensionality.
      kernel_size (int): Size of the convolving kernel, *i.e.* number of
          neighbors including self-loops.
      hidden_channels (int, optional): Output size of
          :math:`h_{\mathbf{\Theta}}`, *i.e.* dimensionality of lifted
          points. If set to :obj:`None`, will be automatically set to
          :obj:`in_channels / 4`. (default: :obj:`None`)
      dilation (int, optional): The factor by which the neighborhood is
          extended, from which :obj:`kernel_size` neighbors are then
          uniformly sampled. Can be interpreted as the dilation rate of
          classical convolutional operators. (default: :obj:`1`)
      bias (bool, optional): If set to :obj:`False`, the layer will not learn
          an additive bias. (default: :obj:`True`)
      num_workers (int): Number of workers to use for k-NN computation.
          Has no effect in case :obj:`batch` is not :obj:`None`, or the input
          lies on the GPU. (default: :obj:`1`)
  
  Shapes:
      - **input:**
        node features :math:`(|\mathcal{V}|, F_{in})`,
        positions :math:`(|\mathcal{V}|, D)`,
        batch vector :math:`(|\mathcal{V}|)` *(optional)*
      - **output:**
        node features :math:`(|\mathcal{V}|, F_{out})`
class_docstr_tok: ["The","convolutional","operator","on",":","math",":","`","\\mathcal","{","X","}","`","-transformed","points","from","the","`","``","PointCNN",":","Convolution","On","X-Transformed","Points","''","<","https",":","\/\/arxiv.org\/abs\/1801.07791",">","`","_","paper",".","..","math",":",":","\\mathbf","{","x","}","^","{","\\prime","}","_i","=","\\mathrm","{","Conv","}","\\left","(","\\mathbf","{","K","}",",","\\gamma_","{","\\mathbf","{","\\Theta","}","}","(","\\mathbf","{","P","}","_i","-","\\mathbf","{","p","}","_i",")","\\times","\\left","(","h_\\mathbf","{","\\Theta","}","(","\\mathbf","{","P","}","_i","-","\\mathbf","{","p","}","_i",")","\\",",","\\Vert","\\",",","\\mathbf","{","x","}","_i","\\right",")","\\right",")",",","where",":","math",":","`","\\mathbf","{","K","}","`","and",":","math",":","`","\\mathbf","{","P","}","_i","`","denote","the","trainable","filter","and","neighboring","point","positions","of",":","math",":","`","\\mathbf","{","x","}","_i","`",",","respectively",".",":","math",":","`","\\gamma_","{","\\mathbf","{","\\Theta","}","}","`","and",":","math",":","`","h_","{","\\mathbf","{","\\Theta","}","}","`","describe","neural","networks",",","*","i.e",".","*","MLPs",",","where",":","math",":","`","h_","{","\\mathbf","{","\\Theta","}","}","`","individually","lifts","each","point","into","a","higher-dimensional","space",",","and",":","math",":","`","\\gamma_","{","\\mathbf","{","\\Theta","}","}","`","computes","the",":","math",":","`","\\mathcal","{","X","}","`","-","transformation","matrix","based","on","*","all","*","points","in","a","neighborhood",".","Args",":","in_channels","(","int",")",":","Size","of","each","input","sample",".","out_channels","(","int",")",":","Size","of","each","output","sample",".","dim","(","int",")",":","Point","cloud","dimensionality",".","kernel_size","(","int",")",":","Size","of","the","convolving","kernel",",","*","i.e",".","*","number","of","neighbors","including","self-loops",".","hidden_channels","(","int",",","optional",")",":","Output","size","of",":","math",":","`","h_","{","\\mathbf","{","\\Theta","}","}","`",",","*","i.e",".","*","dimensionality","of","lifted","points",".","If","set","to",":","obj",":","`","None","`",",","will","be","automatically","set","to",":","obj",":","`","in_channels","\/","4","`",".","(","default",":",":","obj",":","`","None","`",")","dilation","(","int",",","optional",")",":","The","factor","by","which","the","neighborhood","is","extended",",","from","which",":","obj",":","`","kernel_size","`","neighbors","are","then","uniformly","sampled",".","Can","be","interpreted","as","the","dilation","rate","of","classical","convolutional","operators",".","(","default",":",":","obj",":","`","1","`",")","bias","(","bool",",","optional",")",":","If","set","to",":","obj",":","`","False","`",",","the","layer","will","not","learn","an","additive","bias",".","(","default",":",":","obj",":","`","True","`",")","num_workers","(","int",")",":","Number","of","workers","to","use","for","k-NN","computation",".","Has","no","effect","in","case",":","obj",":","`","batch","`","is","not",":","obj",":","`","None","`",",","or","the","input","lies","on","the","GPU",".","(","default",":",":","obj",":","`","1","`",")","Shapes",":","-","*","*","input",":","*","*","node","features",":","math",":","`","(","|\\mathcal","{","V","}","|",",","F_","{","in","}",")","`",",","positions",":","math",":","`","(","|\\mathcal","{","V","}","|",",","D",")","`",",","batch","vector",":","math",":","`","(","|\\mathcal","{","V","}","|",")","`","*","(","optional",")","*","-","*","*","output",":","*","*","node","features",":","math",":","`","(","|\\mathcal","{","V","}","|",",","F_","{","out","}",")","`"]
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."""
      reset(self.mlp1)
      reset(self.mlp2)
      reset(self.conv)
  
file_path: pytorch_geometric/torch_geometric/nn/conv/x_conv.py
imports: from math import ceil
  from typing import Optional
  import torch
  from torch import Tensor
  from torch.nn import ELU
  from torch.nn import BatchNorm1d
  from torch.nn import Conv1d
  from torch.nn import Linear
  from torch.nn import Sequential
  from torch_geometric.nn import Reshape
  from torch_geometric.nn.inits import reset
label_desc: Use image node_id 2 for calling the XConv obj's underlying member method code with example usage: obj.reset_parameters() without return types